天天看點

記錄一個python 不能使用鍵值隊參數的問題

今天在項目中,遇到了一個python不能使用鍵值對傳參的問題,看下面代碼示例:

def test(name):
    print(name)           

正常我們調用可以

1. test("evan")
2. test(name="evan")           

兩種方式都是可以的 ,但是像python的一些内置函數,他底層調用的是C的API, 是不支援使用鍵值對作為參數傳遞的,例如

a = {}
a.get("name",default=None)           

使用default= 參數就會報錯 TypeError: get() takes no keyword arguments。

使用位置參數傳遞是可以的

a = {}
a.get("name",None)           

結論: 在開發過程中遇到python内置函數,使用鍵值對進行參數傳遞需要謹慎測試。