對此類似的問題已經提出並回答,但沒有涉及這個具體問題。針對全局變量賦值的Python語法警告
global EXAMPLE_GLOBAL
EXAMPLE_GLOBAL = True
def Setup():
if EXAMPLE_GLOBAL:
try:
#Doing some file io here
except:
global EXAMPLE_GLOBAL
EXAMPLE_GLOBAL = False
當運行這段代碼(不是這個代碼完全是,這只是剝離下來的基本邏輯),我得到:
SyntaxWarning:名稱「EXAMPLE_GLOBAL」是用來之前全局聲明 global EXAMPLE_GLOBAL
我的印象是,要改變一個全局變量的值,你必須首先指定當你到一個新的作用域時引用全局變量。我是否需要第二個「全局EXAMPLE_GLOBAL」來更改全局或使用相同的標識符?
把'在第一行全球EXAMPLE_GLOBAL' ''Setup()'擺脫警告 –
它警告你'EXAMPLE_GLOBAL'的一些用法在函數內的'global'聲明之前。如果'global EXAMPLE_GLOBAL'在你的函數的開頭,你的代碼會更清晰。 – khelwood