一、函式的動態引數
1.位置動態引數 *args :將實參的位置引數全部接收,形成乙個元組
2.關鍵字動態引數 **kwargs: 將實參的關鍵字引數全部接收形成乙個字典
3.引數位置順序: 位置引數 => *ages => 預設引數 = > **kwargs
4.萬能組合(可以接收實參傳來的各種引數型別)
1def func(*args,**kwargs):
2pass
形參的位置 * 在形參的位置表示聚合,在實參的位置表示打散
實參的位置 ** 在形參的位置表示聚合,在實參的位置表示打散
1deffunc(a,b)
2print
(a)3
(b)4 func(*lst,**dic)
二、命名空間
2、分類: 內建命名空間、全域性命名空間、區域性命名空間
3、作用域:全域性作用域(內建+全域性)區域性作用域(函式被呼叫)
4、globals() 檢視全域性中的內容、locals檢視當前作用域的內容
三、函式的巢狀
函式之間可以相互巢狀
四、global和nonlocal
global:在區域性訪問全域性的內容
nonlocal:引入當前作用域最近一層的那個變數
python 函式高階 python 函式高階
形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...
Python高階 函式高階
閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...
python 函式 高階函式
filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...