關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數kw:
def person(name, age, **kw)
prit('name:', name, 'age:', age, 'other', kw)
這裡的name, age
是必須的,kw
可選,意味著第三個引數開始我們可以傳入任意個數的關鍵字引數:
>>> person('bob', 35, city = 'bejiing')
anme: bob age: 35 other:
>>> person('adam', 45, gender = 'm', job = 'engineer')
name: adam age: 45 other:
這個例子裡, 關鍵字引數讓我們保證能接收到name
和age
這兩個引數,但是,如果提供更多的引數,我們也能收到。
實際上,關鍵字引數kw
是個dict, 如果我們已經準備好了dict,只需要在前面加**
就可以轉換為引數傳入:
param =
>>> person('adam', 45, **param)
name: adam age: 45 other:
注:關鍵字引數kw
獲得的dict是param的乙份拷貝,對kw的改動不會影響到函式外的param。 Python中關鍵字引數和命名關鍵字引數的區別
python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...
python位置引數和關鍵字引數
剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...
python關鍵字引數與可變引數
關鍵字引數可以傳入0或者多個引數名的引數,這些引數在函式定義中並沒有出現,這些引數在函式內部自動封裝整合乙個字典 dict 通常來講關鍵字引數是放在函式引數列表的最後,通過乙個demo 來看 def write msg id,kwargs msg for key,val in kwargs.item...