當前位置:成語大全網 - 新華字典 - Python中的命名空間是什麽?

Python中的命名空間是什麽?

命名空間是從名稱到對象的映射,大部分的命名空間都是通過Python字典來實現的。

命名空間提供了在項目中避免名字沖突的壹種方法,各個命名空間是獨立的,沒有任何關系的,所以壹個命名空間中不能有重名,但不同的命名空間是可以重名而沒有任何影響。

Python命名空間分類

Python程序執行期間會有兩個或者三個活動的命名空間,按照變量定義的位置,可以劃分為以下3類:

內置名稱:built-in names,Python語言內置的名稱,比如函數abs、char和異常名稱BaseException、Exception等。

全局名稱:global names,模塊中定義的名稱,記錄了模塊的變量,包括函數、類、其它導入的模塊、模塊級的變量和常量。

局部名稱:local names,函數中定義的名稱,記錄了函數的變量,包括函數的參數和局部定義的變量。

Python命名空間生命周期

local names,在函數被調用時才被創建,但函數返回結果或拋出異常時被刪除。

global names,在模塊被加載時創建,通常壹直保留,直到Python解釋器退出。

built-in names,在Python解釋器啟動時創建,壹直保留到解釋器退出。

各個命名空間創建順序:Python解釋器啟動—創建內建命名空間-加載模塊-創建全局命名空間-函數被調用-創建局部命名空間。

各個命名空間銷毀順序:函數調用結束-銷毀函數對應的局部命名空間-Python解釋器退出-銷毀全局命名空間-銷毀內建命名空間。