*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 #變量名 = 條件成立的結果 條件 條件不成立的結果