調(diào)用pyd中的函數(shù)時出現(xiàn)的參數(shù)問題

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上的討論。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容