我在學習Python並使用函數參數進行遊戲。剛剛創建了一個測試功能與下面的代碼:使用默認參數的Python函數
def packer(name = 'Alpha', **kwargs):
return(kwargs)
如果我調用該函數爲:
dummy_packer = packer(name = 'Bravo', age = 65, beard = False)
結果是:
{'age': 65, 'beard': False}
變量dummy_packer不會有名價值在結果。我知道它忽略了它,因爲我已經在創建函數的階段定義了它。但那爲什麼它沒有給我默認值呢? 名稱參數存儲在哪裏?
感謝
'name'參數存儲在'name'變量中。 '** kwargs'並不意味着「所有通過關鍵字傳遞的參數」,它表示「通過關鍵字傳遞的所有參數未在函數簽名中命名」。 – BrenBarn
請參閱https://stackoverflow.com/questions/3394835/args-and-kwargs – akshaynagpal
[\ * args和\ * \ * kwargs?]可能重複(https://stackoverflow.com/questions/3394835/args-和-kwargs) – akshaynagpal