Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将不同的参数传递给函数列表_Python - Fatal编程技术网

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

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

我有一个函数列表,比如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。代码帮助很大,我只需要根据我的目的定制最后一部分。