簡體   English   中英

如何在 Python 中按名稱更改變量?

[英]How to change a variable by its name in Python?

我可以使用 globals() 更改變量的名稱:

k = 2 
def intercommunicationstep(xname, value):
    globals()[xname]=value
    return 1 - q**(k-1)

q = 0.2  
print(intercommunicationstep('k',1))

但由於某種原因,代碼不適用於 locals() 或 vars():

def intercommunicationstep(xname, value):
    k = 2
    locals()[xname]=value
    print(locals())
    return 1 - q**(k-1)

q = 0.2 
print(intercommunicationstep('k',1))

它輸出 0.8 而不是 1。我不想打擾全局變量,並且更喜歡在函數內部處理這個,但是唉,我無法弄清楚這一點。

出於優化原因,看起來不可能:有什么方法可以修改 locals 字典? .

如果您絕對需要按鍵訪問變量,您可能應該在函數內部創建一個字典。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM