*args,**kwargs (可以接受动态的位置参数和动态的关键字参数)
定义阶段(*args,**kwargs) 聚合
*args - tuple
**kwargs -- dict
使用阶段args,kwargs 打散
args - 源数据类型
kwargs - 打散是字典的键
优先级: 位置 > 动态位置> 默认 > 动态关键字python
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文件)
局部空间:函数体开辟的空间code
加载顺序: 内置 > 全局> 局部
取值顺序: 局部 > 全局 > 内置作用域
做用域:
全局做用域 内置 + 全局
局部做用域: 局部class
函数中套函数
函数嵌套调用
函数嵌套参数的传递
函数嵌套返回值的传递变量
定义全局变量 定义局部变量
global : 修改全局空间的变量对应的值
nonlocal :在外层的函数中,修改局部空间的变量值.彻底不涉及全局变量,
只修改离它最近的一层,最近的一层没有变量继续向上找,直到找到最外层函数数据类型
a = 10 b = 20 c = a if a> b else b #变量名 = 条件成立的结果 条件 条件不成立的结果