【发布时间】:2017-07-12 04:06:50
【问题描述】:
我对为什么会发生此错误感到困惑:
TypeError: func1() 正好接受 0 个参数(给定 1 个)
代码如下:
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):
for func in listOfFuncs:
if func(extraArgs) == False:
print 'break'
break
print 'continue'
continue
func3(func1, func2, dog=2, cat=1)
我正在尝试将函数名称作为参数传递给 func3。我还想在 fun3 中调用 func1 和 func2 时将“cat”和“dog”关键字参数都传递给它们,但在每个函数中只使用一个关键字参数?
任何帮助将不胜感激
【问题讨论】:
-
您发布的错误不可能与代码匹配,任何地方都没有
testy -
对不起。我重写了代码,以便在堆栈溢出时更容易阅读,但忘记更新错误消息。已更正。
-
如果您对我的解决方案感到满意,请将答案标记为有用(支持),这也可能对其他用户有所帮助。这样我们可以管理堆栈溢出的好习惯。
-
没问题。再次感谢
标签: python python-2.7