一、函数的参数
1、缺省参数
缺省参数放在常参数的最后面
缺省参数如果使用列表等可变类型,会在运行时保留上一次运行函数时的结果
函数参数传入时在缺省位置传入新参数时,会指向新的寄存器,在不传入缺省位置新参数时再次运行函数,可变缺省参数仍会指向原地址,运行时保留上次运行结果
def f(x,l=[]):
for i in range(x):
l.append(i*i)
print(l)
f(2)
f(3,[3,2,1])
f(3)
代码中前两个输出正常,最后一个输出值包含f(2)产生的列表值
2、可变参数(不定常参数)
*args, **kwargs(可改名,最好遵循底层默认)
可变参数传入后,在函数内args是一个元组,*args代表元组遍历拆包后的值
可以任意输入任何个数参数,收集所有位置的参数,打包成元组输入输出
def per(*args):
print(args)
per(1,2,3)
可变参数传入后,在函数内kw是一个字典,*kw代表字典遍历拆包后的每个键名,**kw则会报错
将所有参数打包成字典能且只能传入键值结构
def per(**kw):
print(*kw)
per(name='1',age=1)
二、函数相关方法
1、kwargs.items()
将字典转换成由元组组成的列表
2、global a
修改全局变量
写在函数中间,修改对应名称全局变量的值
3、的作用
代表乘 12
可对可迭代对象自动拆包,挨个传递 *list
三、小技巧
1、help(print)
查找print的使用方法
可用于大多python内置函数
2、print(print.doc)
查找print函数说明