一個函式是否可以將第二個函式的一個可選引數的名稱作為引數,然后呼叫第二個函式,并將可選引數設定為第一個函式中某個變數的值?
代碼(顯然不起作用)
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() 的引數串列,但我對你如何做到這一點感到困惑。
uj5u.com熱心網友回復:
也許試試下面的代碼片段
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,b或c)會導致引發錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/318484.html
上一篇:創建一個函式來設定“nan”值
