函数的初识:
封装一个功能。
def 函数名():
函数体
函数的返回值:return
1,结束函数。
2,返回给执行者(函数名())值。
return ----> None
return 单个值----> 单个值
return 多个值----> (多个值,)
函数的参数:
形参:
1,位置参数:从左至右,一一对应。
2,默认参数。放在位置参数后面。
3,*args,**kwargs。动态参数。
实参:
1,位置参数:从左至右,一一对应。
2,关键字参数:一一对应。
3,混合参数。位置参数一定要在关键字参数之前。
*args **kwargs: 万能参数,动态参数
* 魔性用法:
函数的定义时,* ** 聚合。
函数的执行时,* ** 打散。
形参顺序:
位置参数,*args,默认参数,**kwargs
名称空间:
临时名称空间:
内置名称空间:
作用域:
全局作用域:内置名称空间,全局名称空间。
局部作用域:临时名称空间(局部名称空间)。
加载顺序: 内置名称空间 全局名称空间 临时名称空间
取值顺序:就近原则,LEGB。
内置函数:
globals(): 返回一个字典:全局作用域的内容。
locals() : 返回一个字典:当前作用域的内容。
关键字:
global:
1,在局部作用域可以声明一个全局变量。
2,在局部作用域可以对全局变量进行修改。
nonlocal:
1,不能对全局变量进行修改。
2,子级对父级函数的变量的修改。