pyd中定義的函數(shù)
def fun(a, b):
print(a+b)
在使用關(guān)鍵字參數(shù)的方式調(diào)用該pyd中的函數(shù)fun時
fun(a=1, b=2)
出現(xiàn)如下錯誤
TypeError: fun() takes no keyword arguments
在使用順序參數(shù)的方式調(diào)用該pyd中的函數(shù)fun時
fun(1, 2)
可以正確運(yùn)行
3
結(jié)論:
在pyd中,函數(shù)的參數(shù)必須有一個默認(rèn)值才能在調(diào)用該函數(shù)中使用關(guān)鍵字參數(shù),否則只能使用按參數(shù)順序給定參數(shù)。
進(jìn)行如下修改,給參數(shù)一個默認(rèn)值
# 修改前
def fun(a, b):
print(a+b)
# 修改后
def fun(a=None, b=None):
print(a+b)
這樣就可以使用關(guān)鍵字參數(shù)了。
這個問題在issues上的討論。