函数的动态参数
*args,**kwargs (能够接受动态的位置参数和动态的关键字参数)
定义阶段(*args,**kwargs) 聚合
*args - tuple
**kwargs -- dict
使用阶段args,kwargs 打散
args - 源数据类型
kwargs - 打散是字典的键
优先级: 位置 > 动态位置> 默认 > 动态关键字
lst = [12,23,3,4,5,6]
def func(*args):
print(*args)
func(lst[0],lst[1]) # 笨的办法
func(*lst)
dic = {"key":1,"key1":34}
def func(**kwargs):
print(kwargs)
func(**dic)
函数的注释
每次写函数的时候需要写注释 """ """
函数名.__doc__查看
名称空间
内置空间: python解释器自带的
全局空间:当前文件(.py文件)
局部空间:函数体开辟的空间
加载顺序: 内置 > 全局> 局部
取值顺序: 局部 > 全局 > 内置
作用域:
全局作用域 内置 + 全局
局部作用域: 局部
函数嵌套
函数中套函数
函数嵌套调用
函数嵌套参数的传递
函数嵌套返回值的传递
global nonlocal
定义全局变量 定义局部变量
global : 修改全局空间的变量对应的值
nonlocal :在外层的函数中,修改局部空间的变量值.完全不涉及全局变量,
只修改离它最近的一层,最近的一层没有变量继续向上找,直到找到最外层函数
三元运算
a = 10
b = 20
c = a if a> b else b
#变量名 = 条件成立的结果 条件 条件不成立的结果