我希望能够将变量名称传递给函数,并让该函数调用另一个函数,该函数调用第一个函数,并将特定值赋给变量名称。例如:
# function with argument 'arg2'
def foo(arg1=None, arg2=None, arg3=None):
print arg2
# function that calls foo with a value assigned to designated variable
def bar(var, value):
foo(var=value)
所以当我打电话时
> foo(arg2, 10)
我得到了输出
Output: 10
这是怎么做到的?
答案 0 :(得分:6)
你做不到,因为没有意义;名称arg2
总是指代该变量的值。
然而,您可以传递字符串 "arg2"
,并使用kwargs来调用该函数:
def bar(var, value):
foo(**{var: value})
虽然你最好直接这样做,但完全不需要吧。