09函数的动态传参及global和nonlocal关键字
#很多时候我们在定义函数的时候没法立即确定函数的个数,及类型。所以有了动态传参,这一点在python很多内置的模块中
尤为明显。
1、函数的动态传参
*args:位置参数动态传参
**kwargs:关键字参数动态传参
顺序:位置,*args,默认值,**kwargs
def func(*args, **kwargs): --接受所有参数(万能用法)
pass
形参的位置*,**:聚合
实参的位置*,**打散
2、global和nonlocal:
global:在局部中访问全局的变量
在局部不加global访问全局变量,可以打印和return,但是不可以进行操作。
nonlocal:在当前位置逐层向外寻找,找到后替换掉当前位置的变量,如果一只到全局变量之前还未找到,就会报错。