我目前正在學習Python,而且我必須在Python 2.7項目上工作。訪問「模塊範圍」vars
訪問「模塊範圍」變量模塊本身的功能是一個有點混亂,對我來說,我沒有找到一個令人滿意的方式成功。
我嘗試至今:
方法1:
my_module.py
my_global_var = None
def my_func():
global my_global_var
my_global_var = 'something_else'
在這裏,我想混淆局部和 「模塊範圍」 瓦爾可能是相當容易的。
方式2:
my_module.py
import my_module
my_global_var = None
def my_func():
my_module.my_global_var = 'something_else'
這裏, 「my_module」 的名字不能那麼容易改變的 「方式1」 在必要的時候。另外,將模塊導入本身聽起來很奇怪。
你會推薦什麼?或者你會建議別的嗎?謝謝。
不要使用'路2',使用'路1'。 Python範圍和作業很有趣。當從名字中讀取數值時,解釋器將始終從最內側的範圍向外搜索名稱。當你爲當前範圍內的名稱賦值時,這意味着,如果您將'my_global_var'分配給不帶'global'關鍵字的模塊,則從嵌套範圍分配的角度來看,模塊將具有兩個不同的'my_global_var',並超出嵌套範圍。全局聲明只是告訴解釋器爲'my_global_var'這個名字賦值'global'作用域。 – Matt