Python将不同的参数传递给函数列表
我有一个函数列表,比如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。有没有一种简便的方法可以在可伸缩的基础上实现这一点 因为你没有发布任何试用代码,所以我不知道是什么 正是你在找的 但正如你所说: 例如,func_1和func_2只取x_1,而func_3和 func_4同时取x_1和x_2 我为您提供示例解决方案,这不是您可以获得帮助的确切解决方案,此解决方案的提示:Python将不同的参数传递给函数列表,python,Python,我有一个函数列表,比如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。有没有一种简便的方法可以在可伸缩的基础上实现这一点 因为你没有发布任何试用代码,所以我不知道是什么 正是你在找的 但正如你所说: 例如,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')
我不知道你到底是什么意思,但也许利用
*args
和**kwargs
就是你想要的?谢谢很难消化*args和**kwargs。代码帮助很大,我只需要根据我的目的定制最后一部分。