python - 使用指定的变量名称调用函数,为该变量赋值

ada*_*key -1 python function

我希望能够将变量名称传递给函数,并让该函数调用另一个函数,该函数调用第一个函数,并将特定值赋给变量名称.例如:

# 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)
Run Code Online (Sandbox Code Playgroud)

所以当我打电话时

> foo(arg2, 10)
Run Code Online (Sandbox Code Playgroud)

我得到了输出

Output: 10
Run Code Online (Sandbox Code Playgroud)

这是怎么做到的?

Dan*_*man 6

你不能这样做,因为它毫无意义; 名称arg2总是指该变量的值.

但是你可以传递字符串 "arg2",并使用kwargs来调用函数:

def bar(var, value):
    foo(**{var: value})
Run Code Online (Sandbox Code Playgroud)

虽然你最好直接这样做,并完全取消对bar的需求.