我正在使用getattr来根据变量调用不同的函数。
我正在做类似于以下的事情:
getattr(foo, bar) ()
这样做是可以的,像foo.bar()这样调用函数。
我的问题是我有'bar'函数并且我想使用不同的参数调用它。例如:
def f1() :
pass
def f2(param1) :
pass
def f3(param1,param2) :
pass
所以“bar”可以是f1、f2或f3。
我尝试了这个:
假设params是一个包含“bar”函数所需所有参数的列表。getattr(foo, bar) (for p in params :)
我希望得到一种“干净”的解决方案,不需要观察params变量的长度
**kwargs
,这样他以后如果尝试使用关键字参数时就不会遇到难以追踪的错误。 - Silas Ray