万能传参
#当给函数传入的参数数目不定时,之前的穿饭餐方式解决不了问题
#万能参数//动态参数*args 将实参角度: 定义一个函数时* 所有位置参数聚合到一个元祖中.
# **kwargs 函数定义是:**讲实参角度所有的关键字参数聚合成一个字典
* 的魔性用法:
def func(*args,**kwargs):
print(args)
print(kwatgs)
l1 = [1,2,3]
l2 = ["阿萨德","去去去"]
函数形参角度的形参顺序
位置参数>*args>默认参数>**kwargs
形参角度第4中传参方式:仅限关键字参数
从全局角度研究函数
#### 全局名称空间:
py文件运行时开辟的,存放的是执行的py文件(除去函数内部)的所有的变量与值(地址)的对应的关系,整个py文件结束之后,才会消失
#### 临时(局部)名称空间:
函数执行时,在内存中临时开辟的一个空间,存放的函数中的变量与值得对应关系,随着函数的执行完成而消失
内置名称空间:
input print 内置函数等
取值顺序和加载顺序
加载顺序:
内置名称空间先加载---->全局名称空间---->(当函数执行时)临时名称空间
取值顺序: (就近原则)
input = 666
print(input)
#从局部寻找input>>>>局部名称空间>>>>全局名称空间>>>>内置空间
#取值顺序单向,不可逆.
作用域
全局作用域:全局名称空间,内置名称空吗
局部作用域:局部名称空间
内置函数
print(globals()) #全局作用域所有的内容
print(locals()) #当前位置的变量与值得对应关系