python中的文字字符串替换

时间:2012-05-14 13:52:07

标签: python

考虑python

中的以下代码片段
argKey = 'actualArgument'

methodA(argKey=argVal) #invoking methodA

其中methodA()定义为:

def methodA(actualArgument, actualArgument2, actualArgument3)

方法A只能通过命名参数调用ie。通过指定参数名称并传递参数值来调用。

- >抛出错误:

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

我想通过'argKey'变量中包含的值来调用'methodA',即

methodA(actualArgument=argVal)

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

1 个答案:

答案 0 :(得分: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