簡體   English   中英

將函數參數轉換為全局變量

[英]Converting a function parameter into Global variable

當我嘗試將參數轉換為全局變量時,會出現以下錯誤。 有什么方法可以在不使用兩個不同名稱的情況下將導入的參數轉換為全局參數? 編輯:solve(grid)將由另一個模塊調用。 我想確保在調用函數后參數變為全局。

>>> grid = []
>>> def solve(grid)
...     global grid
...

輸出:

File "<stdin>", line 1
SyntaxError: name 'grid' is local and global

如果將變量聲明為全局變量,則無論如何它只是函數內部的“全局”變量。 此處的全局對其他功能沒有任何影響。 如果您希望變量可以在其他函數中調用,而無需傳遞值就可以從此函數中調用,或者如果您正在運行並行線程,則不要使用全局變量。

我不完全知道您打算做什么,但是我建議您使用一個類,而不是通過getter和setter方法來處理變量的所有使用。 它不是pythonic的,但是應該可以工作...您可以在這里找到更多信息: 使用getter和setter的pythonic方法是什么?

希望我能指出正確的方向。 除了使用全局變量,還有很多其他更好的方法來處理變量的范圍。 從那開始。

暫無
暫無

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

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