1. 函数的动态参数
1. *args 位置参数动态传参
2. **kwargs 关键字参数动态传参
顺序:位置参数, *args, 默认值, **kwargs
随以上参数可以意搭配使用
1. 实参:
位置参数
关键字参数
混合参数(位置, 关键字)
2. 形参:
位置参数
默认值参数
动态传参:
*args: 位置参数动态传参
**kwargs: 关键字参数动态传参
顺序: 位置, *args, 默认值, **kwargs
def func(*args, **kwargs):
pass
形参的位置*,**: 聚合
实参的位置*,**: 打散
2. 命名空间
1. 内置名称空间
2. 全局名称空间
3. 局部名称空间
作用域:
1. 全局作用域: 内置+全局
2. 局部作用域: 局部(函数被调用)
globals() 查看全局中的内容
locals() 查看当前作用域中的内容
3. 函数嵌套
函数可以互相的嵌套
4. global和nonlocal关键
global: 在局部访问全局中的内容
nonlocal: 在局部寻找外层函数中离他最近的那个变量