[英]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.