[英]Warning on Python global variable declaration
這是可以忽略的。 我收到如下所述的警告。 我的代碼將如何成功? 無論ignoreList
何種原因,我都必須在全局范圍內的程序中使用這個ignoreList
變量。 而且我也不知道為什么它不打印else:
塊打印語句。
try:
ignoreList
except NameError:
global ignoreList
else:
print 'If property of ignoreList is not set, then please adjust properties to be set for ignoreList'
這是在python IDLE中執行程序時的警告
警告(來自警告模塊):文件“C:\\Users\\Sathasivam_Anand\\Documents\\ignore_list_check.py”,第 4 行 global ignoreList SyntaxWarning:名稱 'ignoreList' 在全局聲明之前使用
>>> ===== RESTART: C:\\Users\\Sathasivam_Anand\\Documents\\ignore_list_check.py =====
如果沒有更多上下文,您的代碼片段沒有多大意義。 為了更好地理解關鍵字,請查看: 在 Python 中使用“全局”關鍵字
至於您的代碼,它使變量僅在發生錯誤后在全局范圍內可用,這是不尋常的。 正如警告所示,您將/應該從一開始ignoreList
變量ignoreList
定義為一個全局變量以消除錯誤。 問題是為什么你只在代碼一開始就遇到錯誤時才公開它。
此外,如果您沒有將它包含在某種函數或其他封裝中,則global
關鍵字不會執行任何 int hat 上下文。
作為您需要使用 global 以在另一個范圍內公開變量的場景的示例:
def test():
global a
a = 10
return 20
b = test()
print(a,b)
一個沒有意義的例子,因為只有一個范圍開始:
a = 10
global a
b = 20
print(a,b)
您的代碼片段會指出這種情況,因為您缺少額外的縮進。 您可能有意省略了它,但同時也省略了有關圍繞它的代碼的任何信息(例如,如果它被放置在一個函數中),您的代碼就沒有多大意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.