在使用Python3作用域開發過程中,只需要關注全局作用域和局部作用域就好了,全局作用域就是說白了模塊(單個 .py 文件中)直接聲明的變量。
比如有個 demo.py 的文件,含有以下代碼:
以上只是說明了全局變量僅僅是在 .py 文件中直接聲明的變量叫全局變量,還有在 .py 文件中直接寫的邏輯代碼塊中,也是全局變量。也就是說在 if/elif/else/、try/except、for/while 等邏輯代碼塊中的變量。
在學習教程中介紹三種命令空間的時候,說查找變量的順序為局部的命名空間去 -> 全局命名空間 -> 內置命名空間,但是理解的變量查找順序為:當前域 -> 外部域(如果有) -> 全局域 -> 內置域。
下面再看看以 demo1.py 為例子: