比如说我是否有一个方法需要多个输入,如下所示:
def SumOf(Arg1,Arg2,Arg3):
Sum = Arg1+Arg2+Arg3
return sum
我在列表中有Arg1,Arg2,Arg3的值,我想访问该方法
Arguments = Arg1 + "," + Arg2 + "," + Arg 3
我想使用变量Arguments来调用方法SumOf
SumOf(Arguments)
但是我收到以下错误:
SumOf() takes exactly 3 arguments (1 given)
注意:以上只是一个例子,我需要根据方法名称和参数执行不同的方法。
请帮忙。
答案 0 :(得分:7)
Arguments = 1, 2, 3
SumOf(*Arguments)
(*)运算符将参数解包为多个参数。
答案 1 :(得分:2)
您的代码看起来有很多问题。这条线...
Arguments = Arg1 + "," + Arg2 + "," + Arg3
...建议Arg1
,Arg2
和Arg3
是字符串,您尝试将其连接成一个逗号分隔的字符串。
为了让SumOf
函数起作用,需要传递整数值,因此如果Arg1
,Arg2
和Arg3
是字符串,那么你将会需要首先使用int()
函数将它们转换为整数,然后将它们打包成元组,类似于......
Arguments = (int(Arg1), int(Arg2), int(Arg3))
...此时您可以使用...
调用该函数SumOf(*Arguments)
...或...
apply(SumOf, Arguments)
此外,您还需要更改行...
return sum
...到...
return Sum
...否则你最终会返回对Python内置sum()
函数的引用。