當涉及到使用其他包的包時,我對全局變得有點困惑。從快速谷歌搜索;沒有多少解釋。Python - 全球有什麼優先權?
簡而言之:當使用global
時,在什麼級別是變量「全球化」?它處於模塊級別,包級別還是解釋器級別?即,在設置如此:
<Package>
|- __init__.py
|- Module.py
|- Module2.py
和有內Module.py使用global
statment,是全球化爲只是模塊的變量,或整個包(包括Module2.py和或__init__。 py)或者interperter級別(任何在解釋器中運行的任何東西)。
此外,如果在__init__.py I from .Module import *
中,包含全局語句的導入函數是否將該文件的所有變量「正確全局化」?
見[6.13'global'聲明】(https://docs.python.org/2/reference/simple_stmts.html#global)。總之,'global'語句隻影響** **範圍內它是在使用。另請參閱相關的部分6.2賦值語句(https://docs.python.org/2/reference/simple_stmts.html#賦值語句)它如何影響賦值。 –