我对此错误发生的原因感到困惑:
TypeError:func1()只取0个参数(给定1个)
代码如下:
normalize-space()
我正在尝试将函数名称作为参数传递给func3。我还想在fun3中调用func1和func2时将'cat'和'dog'关键字参数传递给它们,但是在每个函数中只使用一个关键字参数?
任何帮助将不胜感激
答案 0 :(得分:2)
你必须在函数调用时传递** kwargs args。
我刚刚审核了您的代码。请尝试以下
def func1(**kwargs):
if kwargs['dog'] != 2:
return False
return True
def func2(**kwargs):
if kwargs['cat'] != 3:
return False
return True
def func3(*listOfFuncs, **extraArgs):
print
for func in listOfFuncs:
if func(**extraArgs) == False:
print 'break'
break
print 'continue'
continue
func3(func1, func2, dog=2, cat=1)
输出:
continue
break