0
我正在使用plyplus並試圖讓調試選項打開。__init __(self,grammar,** options)and I pass(grammar_string,myoptdict):TypeError:2 args,3 given
的Grammar
類的定義如下:
class Grammar(object):
def __init__(self, grammar, **options)
,我通過
options = { 'debug' : True }
Grammar(long_string, options)
調用它,但我得到這個錯誤:
TypeError: __init__() takes exactly 2 argument (3 given)
我要瘋了看這個;怎麼了?這是在Ubuntu上使用Python 2.7,我證實在系統上沒有舊版本的plyplus,只有一個參數。
您正在將'options'作爲單個參數傳遞:字典。你應該做的是傳遞字典的項目作爲關鍵字參數。要做到這一點,請使用'** options'。 – zondo
查看https://stackoverflow.com/questions/9867562/pass-kwargs-argument-to-another-function-with-kwargs – zondo