0

考虑以下python中的代码片段

argKey = 'actualArgument'

methodA(argKey=argVal) #invoking methodA

其中 methodA() 定义为:

def methodA(actualArgument, actualArgument2, actualArgument3)

methodA 只能通过命名参数调用,即。您通过指定参数名称并传递参数值来调用。

--> 抛出错误:

TypeError: methodA() got an unexpected keyword argument 'argKey '

我希望通过“argKey”变量中包含的值调用“methodA”,即

methodA(actualArgument=argVal)

如何将字符串替换为方法调用调用。?

4

1 回答 1

3

要传递具有计算名称的参数,请使用 dict:

def foo(a, b):
  return a+b

name_of_a = 'a'
params = {name_of_a: 1, 'b': 2}
print foo(**params) # note the asterisks
于 2012-05-14T14:03:40.423 回答