Python引數之關鍵字引數

2022-09-14 22:36:30 字數 767 閱讀 7089

關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數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:

這個例子裡, 關鍵字引數讓我們保證能接收到nameage這兩個引數,但是,如果提供更多的引數,我們也能收到。

實際上,關鍵字引數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...