zoukankan      html  css  js  c++  java
  • python第九课

    #len
    # s='金老板小护士了'
    # #len(s)
    # def 启丽():#定义函数,
    # i=0
    # for k in s:
    # i+=1
    # print(i)
    # return i#返回值
    # # 启丽()#调用函数
    # length=启丽()
    # print(length)
    #函数:
    # 定义了之后,可以在任何需要它的地方调用.
    #没有返回长度,只是单纯的打印
    #返回的重要性
    #a,b
    #len(a) #内置函数
    #len(b)
    #1不能变,只能计算s字符串的长度.
    #2只能输出了结果
    #没有返回值--返回None
    #不写return
    #只写return:结束一个函数的继续
    #return None ---不常用
    # def func():
    # l=['金老板','启丽']
    # for i in l:
    # print(i)
    # if i=='金老板':
    # return None
    # print('='*10)
    # ret=func()
    # print(ret)
    # 返回1个值
    # 可以返回任何数据类型
    # 只要返回就可以接收到
    # 如果在一个程序中有多个return时,那么只执行第一个
    # def func():
    # return {'k':'v'}
    # print(func())
    # 返回多个值
    # 用多个返回值用多个变量接收:有多少返回值就用多少变量接收
    #用一个变量接收:得到的是一个元组
    # def func2():
    # return 1,2
    # r1,r2=func2()
    # print(r1,r2)


    #len(s)
    # def 启丽(s):#定义函数,自定义函数只需要0个参数,接收参数
    # i=0
    # for k in s:
    # i+=1
    # return i #返回值
    # f='金老板小护士了'
    # ret=启丽(f)#传递参数:传参,实际参数,实参
    # #ret=启丽([1,2,3,4,5])#传递参数:传参
    # print(ret)

    #什么叫参数
    #参数的语法
    #参数和实参的概念
    # def f2(l1):
    # f1(l1)
    # for i in l1:
    # print(i)
    #
    # def f1(l1):
    # for i in l1:
    # print(i)
    # f2([1,2,3,4])
    #参数
    #没有参数
    #定义函数和调用函数时括号里都不写内容
    #有一个参数
    #传什么就是什么
    #有多个参数
    #位置参数
    # def my_sum(a,b):
    # res=a+b #result
    # return res
    # ret=my_sum(1,2)
    # print(ret)

    #站在实参的角度上:
    #按照位置传参
    #按照关键字传参
    #混着用可以:但是必须先按照位置传参,在按照关键字传参
    #不能给同一个变量传多个值
    #站在形参的角度上
    #位置参数:必须传,且有几个参数就传几个值
    #默认参数:可以上传,如果不传就是用默认的参数,如果传了就用传的
    # def classmate(name,sex='男'):
    # print('%s:%s'%(name,sex))
    # classmate('二哥')
    # classmate('小孟')
    # classmate('大孟')
    # classmate('朗哥','女')
    #只有调用函数的时侯
    #按照位置传:直接写参数的值
    #按照关键字:关键字=值
    #定义函数的时侯
    #位置参数:直接定义参数
    #默认参数,关键字参数:参数名='默认的值'
    #顺序:位置参数,*args,默认参数 例:def func(a,b,*args,default=1,**kwargs):
    # 动态参数:可以接收任意多个参数
    #参数名之前加*,习惯参数名args
    #参数名之前加**,习惯参数名kwargs
    # def sum(*args):
    # n=0
    # for i in args:
    # n+=i
    # return n
    # print(sum(1,2))
    # print(sum(1,2,3))
    # print(sum(1,2,3,4))

    # def func(**kwargs):
    # print(kwargs)
    # func(a=1,b=2,c=3)
    # func(a=1,b=2)
    # func(a=1)
    #动态参数有两种:可以接爱任意参数
    #*args:接收是按照位置传参的值,组织成一个元组
    #**kwargs: 接受的是按照关键字传参的值,组织成一个字典
    #args必须在kwargs之前
    # def func(*args,**kwargs):
    # print(args,kwargs)
    # func(1,2,3,4,5,a = 'aaa',b='bbbb')
    #动态参数的另外一种传参数
    # def func(*args):#站在形参的角度上,给变量加上*,就是组合所有传来的值.
    # print(args)
    # func(1,2,3,4,5)
    # l=[1,2,3,4,5]
    # func(*l)#站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散
    def func(**kwargs):
    print(kwargs)
    func(a=1,b=2)
    d={'a':1,'b':2}
    func(**d)

    #函数总结
    #1函数的定义def
    #2函数的调用
    #3函数的返回值return
    #4函数的参数
    #形参:
    #位置参数:必须传
    #*args:可以接受任意多个位置参数
    #默认参数:可以不传
    #**kwargs:可以接受多个关键字参数
    #实参:按照位置传参,按照关键字传参

    # li=['alex','wusir','rain']
    # s1='*'.join(li)
    # print(s1)
    # sum=0
    # for i in range(1,100):
    # if i % 2 == 0:
    # sum=sum -i
    # else:
    # sum+=i
    # print(i)
    #
    # for i in range(100,-1,-1):
    # print(i)
    # count=0
    # content=input('>>>')
    # for i in range(len(content)):
    # if i % 2 ==1 and content[i].isdigit():
    # count+=1
    # print(count)
    # 实现一个整数加法计算器:(6分)
    # 如:content = input(‘请输入内容:’) # 如用户输入:5+8+7....(最少输入两个数相加),然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换None):
    # dic={‘最终计算结果’:None}。
    # content=input('请输入内容:')#5+8+7...
    # content_list=content.split('+')
    # print(content_list)
    # sum=0
    # for i in content_list:
    # sum=sum+int(i)
    # print(sum)
    # li = [11,22,33,44,55,77,88,99,90]
    # # result={}
    # # for row in li:
    # # if row >66:
    # # if 'key1' not in result:
    # # result['key1']=[]
    # # else:
    # # result['key1'].append(row)
    # # else:
    # # if 'key2' not in result:
    # # result['key2']=[]
    # # else:
    # # result['key2'].append(row)
    # # print(result)
    # result={}
    # for row in li:
    # result.setdefault('key1',[])
    # result.setdefault('key2',[])
    # if row >66:
    # result['key1'].append(row)
    # else:
    # result['key2'].append(row)
    # print(result)
    #
    # user_list = [
    # {'username':'barry','password':'1234'},
    # {'username':'alex','password':'asdf'},
    # ]
    # board = ['张三','李小四','王二麻子']
    # while 1:
    # username=input('用户名:')
    # if username.upper()=='Q':break
    # password=input('密码:')
    # for i in board:
    # if i in username:
    # username=username.replace(i,'*'*len(i))
    # user_list.append({'username':username,'password':password})
    # print({'username':username,'password':password})
    # print(user_list)

    #函数
    #可读性强 复用性强
    #def 函数名():
    #函数体
    #return 返回值
    #所有函数 只定义不调用就一定不执行
    #先定义后调用
    #函数名() #不接受返回值
    #返回值=函数名()#接受返回值

    #返回值
    #没有返回值:默认返回None
    #不写return:函数内的代码执行完毕自动结束
    #只写return:结束一个涵数
    #return None
    #返回一个值:结束了函数且返回一个值,可以是任意的值
    #返回多个值:多个值之间用逗号隔开,接收的时侯可以用一个变量接收(元祖),也可以用等量的多个变量接收
    # def f():
    # return '栗子'
    #
    # ret = f('启丽')
    # print(f())
    #参数
    #形参 定义函数的时侯
    #位置参数:必须传
    #*args:动态参数 可以接收任意多个位置传入的参烽
    #默认参数:可以不传 --陷阱
    #**kwargs:动态参烽 可以接收任意多个关键字传入的参数
    #实参 调用函数的时侯
    #按照位置传参数
    #按照关键字传参数
    #可以混用 位置参数必须在关键字传参之前
    #不能对一个参数重复赋值

    # def 启丽(*args):
    # print(args)
    # # 启丽(1,2,3)
    # l=[1,2,3,4]
    # 启丽(*l)

    def qqxing(l=[]):
    l.append(1)
    print(l)
    qqxing()
    qqxing()

    #如果默认参数的值是一个可变数据类型,
    # 那么每一次调用函数的时侯
    # 如时机不传值就公用这个数据类型的资源


  • 相关阅读:
    简述密码
    w命令
    Python打包-Pyinstaller
    [转]油猴Tampermonkey-让百度云下载飞起来
    百度云高速下载Pandownload
    AdoConnect-获取连接字符串 (工具)
    Python爬虫-豆瓣电影 Top 250
    C++中使用ODBC API访问数据库例程
    Python爬虫-什么是爬虫?
    Python+Django(Python Web项目初体验)
  • 原文地址:https://www.cnblogs.com/huangjianfeng/p/11238786.html
Copyright © 2011-2022 走看看