簡體   English   中英

在 Python 中更改 function 中全局值的最佳方法?

[英]Best way to change value of global value inside a function in Python?

我在 Python 中處理了很多全局變量,當我的代碼進行時,這些值需要不斷地更改。 對我來說一個非常好的解決方案是將全局變量作為 function 中的參數,但是,據我所知,只能通過在 function 中實際命名特定變量來更改 function 中的全局變量。定義。 因為我使用很多不同的變量名,這將迫使我為每個變量名創建很多函數。

我想要的是這樣的:

x = 5

def foo(_):
    global _
    
    _ = 10
    
    return _
    
foo(x)

print(x)

x 現在是 10,而不是實際的 output,即 5。達到我想要的最有效的方法是什么?

由於您 go 在調用foo(x)時麻煩命名x ,因此執行x = foo(x)並沒有太大的難度:

x = 5

def foo(_):
    _ = 10
    return _
    
x = foo(x)

print(x)

我可能沒有完全理解您需要這樣做,但是,您也可以按如下方式管理全局變量:

x = globals()
x['cartoon'] = 'mickey'
print(x['cartoon'])

暫無
暫無

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

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