Python将不同的参数传递给函数列表

时间:2017-11-20 07:38:09

标签: 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。是否有一种方便的方法可以在可扩展的基础上实现它?

1 个答案:

答案 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')