day 10
-
形参角度
-
万能参数
args 接受所有的位置参数,函数定义是 :*代表契合,将所有的位置参数聚合成一个元组,赋值给了 args
def func(*args): count = 0 for i in args: count += i return count func(1,2,3,4,5)
``
-
*的魔性用法
** kwargs : **将所有的关键字参数聚合在一个字典中,将这个字典赋值给了kwargs
-
仅限关键字参数
-
形参角度的参数的顺序
def func(位置参数,*args,关键字参数,**kwargs):
-
形参角度最终的顺序:位置函数,*args,默认参数,仅限关键字参数,**kwargs
-
,**,在函数调用时,代表打散
def func(*args) print(args) func(*[1,2,3],*[22,33,44])#func(1,2,3,22,33,44)
def func(**kwargs) print(kwargs) func(**{'name':'taibai'},**{'age':18})#func(name='taibai',age=18)
-
-
函数的名称
-
名称空间
全局名称空间,记录整个py文件中的变量,函数对应关系
局部名称空间(临时名称空间),记录函数体中的变量与值对应关系,函数执行时才开辟
内置名称空间,python源码给你提供的一些内置函数
加载顺序:内置名称空间>全局名称空间> 局部名称空间(函数执行时)
取值顺序:就近原则,单向不可逆,(从局部找时)局部名称空间--->全局名称空间---->内置名称空间
-
作用域
两个作用域:全局作用域,局部作用域
- 全局作用域:内置名称空间,全局名称空间
- 局部作用域:局部名称空间
- 局部作用域不能改变全局的,只能使用父级的,不能改变
-
-
高阶函数,掌握执行顺序。
-
globals(),local()
globals 返回的时字典,字典里面的键值对:全局作用域的所有内存
local返回的时字典,字典里面的键值对:当前作用域的所有内容