今天在項目中,遇到了一個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内置函數,使用鍵值對進行參數傳遞需要謹慎測試。