Python中嵌套函数中的可选参数



一个函数是否可以将第二个函数的可选参数之一的名称作为参数,然后调用第二个函数,将可选参数设置为第一个函数中的某些变量的值?

代码(这显然是行不通的)

def foo(a=1,b=2,c=3):
d = a + b + c
return d
def bar(variable):
z = get_user_input()
e = foo(variable = z)
return e
print(bar(a))

期望的结果是bar调用foo(a=z)并输出z+2+3的值。当然Python不知道这里的(a)是什么。我的猜测是,我可以以某种方式引用foo()的参数列表,但我对如何做到这一点感到困惑。

也许尝试以下代码片段

def foo(a=1,b=2,c=3):
d = a + b + c
return d
def bar(variable: str):
z = int(input())
e = foo(**{variable: z})
return e
# variable name should be defined as string
print(bar("a"))

**解析字典上的所有任意参数,在本例中是a。但是要小心,如果传递错误的变量名(不同于a,bc)将导致抛出错误。

最新更新