我有一个函数列表,比如func_1,func_2,func_3,func_4等,现在我想将一些变量x_1,x_2作为共享参数传递给所有函数。问题是,并非所有函数都采用完全相同数量的参数。例如,func_1和func_2仅占用x_1,而func_3和func_4同时占用x_1和X_2。是否有一种方便的方法可以在可扩展的基础上实现它?
答案 0 :(得分:0)
由于你还没有发布任何尝试过的代码,所以我不知道是什么 你正在寻找。
但正如你所说:
例如,func_1和func_2只需要x_1,而func_3和 func_4同时取x_1和X_2
我正在为您提供示例解决方案,这不是确切的解决方案您可以从此解决方案中获得帮助:
def func1(*args):
print("This is func1")
return args
def func2(*args):
print("This is func2")
return args
def func3(*args):
print("This is func3")
return args
def func4(*args):
print("This is func4")
return args
func_list=[func1,func2,func3,func4]
argument_list=['x1','x2']
for func in func_list:
if func==func1:
print(func1(argument_list[0]))
elif func==func2:
print(func2(argument_list[0]))
elif func==func3:
print(func3(argument_list[0],argument_list[1]))
else:
print(func4(argument_list[0], argument_list[1]))
输出:
This is func1
('x1',)
This is func2
('x1',)
This is func3
('x1', 'x2')
This is func4
('x1', 'x2')