2013-10-30 36 views
0
search(lane,value=None,start=105,stop=115,GUI=True) # -> function definition 
search(lane,value=value,start=start, stop=stop,GUI=True) # -> function call 

我得到的错误Python的错误:功能得到了关键字参数多值价值

"search()" got multiple keyword argument for value" 

我明白,当这个错误出现 - 如果我有一个函数定义,就像下面

def func(a): 
    ... 

如果我把它叫做func(0,a),我传递了2个参数而不是1,我最终会收到错误信息。

我不跟随为什么我得到它时,我调用的函数调用的参数数量匹配定义中的参数。

请指教。

+0

不要用关键字调用它,只需用值调用它。搜索(lane,None,105,115,True)' –

回答

0

所以你正在做这样的事情?这对我有用。

def search(lane,value=None,start=105,stop=115,GUI=True): 
    print "Do something" 

value = 1 
start = 1 
stop = 1 
lane = 1 

search(lane,value=value,start=start, stop=stop,GUI=True) 

是否有可能在您的代码中的某处名为search? 或者也许有一个导入调用一个你不知道的搜索函数尝试将你的函数重命名为不同的东西你仍然得到相同的错误?

+0

jramirez - “search”是一个在“E类”中定义的函数,“搜索”在下面的“R类”中被调用obj = E(self) - -instantiation和obj.search(lane,value = value,start = start,stop = stop,GUI = True)---- func call – user2939055

+0

您不在类启动器中添加self。用您正在运行的实际代码更新您的问题。 –

+0

Burhan Khalid - 这不是真的 - 我传递给classname - >“obj = classname()”取决于“classname”的__init __() – user2939055

相关问题