一、函数的动态参数
1.位置动态参数 *args :将实参的位置参数全部接收,形成一个元组
2.关键字动态参数 **kwargs: 将实参的关键字参数全部接收形成一个字典
3.参数位置顺序: 位置参数 => *ages => 默认参数 = > **kwargs
4.万能组合(可以接收实参传来的各种参数类型)
1 def func(*args,**kwargs): 2 pass
形参的位置 * 在形参的位置表示聚合,在实参的位置表示打散
实参的位置 ** 在形参的位置表示聚合,在实参的位置表示打散
1 def func(a,b) 2 print(a) 3 print(b) 4 func(*lst,**dic)
二、命名空间
1、命名空间:表示内存地址与变量的一种关系
2、分类: 内置名称空间、全局名称空间、局部名称空间
3、作用域:全局作用域(内置+全局)局部作用域(函数被调用)
4、globals() 查看全局中的内容、locals查看当前作用域的内容
三、函数的嵌套
函数之间可以相互嵌套
四、global和nonlocal
global:在局部访问全局的内容
nonlocal:引入当前作用域最近一层的那个变量