python之函数一
- 定义了之后,可以在任何需要他的地方调用
- return 返回值,后面内容不再执行,结束一个函数
- 返回一个值:可以返回任何数据类型
- 只要返回就可以接受到
- 返回多个值:多个变量去接收,一一对应
- 一个变量也可以接收,元组
- 站在形参的角度上
- - 位置形参:必须传,且有几个参数就传几个值
- - 默认参数:可以不传,如果不传就是用默认的参数,如果传了就用传的
- 只有调用函数的时候
- - 按位置传:直接写参数值
- - 按关键字:关键字=值
- 定义函数的时候
- - 位置参数:直接定义参数
- - 默认参数:关键字参数:关键名=‘默认值’
- - 传参可以按位置传,按关键字传
- 动态参数(一),可以接受任意个参数
- - (*args)接受的是按位置传参的值,传入不同数量的参数,组织成一个元素
- - (**kwargs)接受的是按关键字传参的值,传入不同数量的关键字参数,组织成一个字典
- - args必须在kwargs之前
- 顺序:位置参数,*args,默认参数,**kwargs
- 动态传参(二)
- l=[]
- fun(*l)站在实参的角度上,给每一个序列加上*,就是将这个序列按照顺序打散
- (*args)站在形参的角度上,给变量加上*,就是组合所有传来的值。
- 默认参数的陷阱:
-
1 def qqxing(k,l = {}): 2 l.append(1) 3 l[k] = 'v' 4 print(l) 5 6 qqxing(1) #[1] 7 qqxing(2) #[1,1] 8 qqxing(3) #[1,1,1]
- 如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值就公用这个数据类型的资源
-

浙公网安备 33010602011771号