Python中命名空間是什么?命名空間生命周期是多久?相信很多正在學習Python技術的同學對這個問題都比較好奇,尤其是零基礎學習Python技術的同學,拉好小板凳,來看看下面的詳細介紹吧。
Python培訓教程:Python中命名空間是什么?命名空間生命周期是多久?命名空間是一個命名系統,用于確保名稱是唯一性,以避免命名沖突;而且在Python中,每個包、模塊、類、函數和方法函數都擁有一個命名空間,在該命名空間中解析變量名。
Python培訓教程:Python中命名空間是什么?
命名空間是從名稱到對象的映射,大部分的命名空間都是通過Python字典來實現的。
命名空間提供了在項目中避免名字沖突的一種方法,各個命名空間是獨立的,沒有任何關系的,所以一個命名空間中不能有重名,但不同的命名空間是可以重名而沒有任何影響。
Python命名空間分類
Python程序執行期間會有兩個或者三個活動的命名空間,按照變量定義的位置,可以劃分為以下3類:
內置名稱:built-in names,Python語言內置的名稱,比如函數abs、char和異常名稱BaseException、Exception等。
全局名稱:global names,模塊中定義的名稱,記錄了模塊的變量,包括函數、類、其它導入的模塊、模塊級的變量和常量。
局部名稱:local names,函數中定義的名稱,記錄了函數的變量,包括函數的參數和局部定義的變量。
Python培訓教程:Python命名空間生命周期
local names,在函數被調用時才被創建,但函數返回結果或拋出異常時被刪除。
global names,在模塊被加載時創建,通常一直保留,直到Python解釋器退出。
built-in names,在Python解釋器啟動時創建,一直保留到解釋器退出。
各個命名空間創建順序:Python解釋器啟動—創建內建命名空間-加載模塊-創建全局命名空間-函數被調用-創建局部命名空間。
各個命名空間銷毀順序:函數調用結束-銷毀函數對應的局部命名空間-Python解釋器退出-銷毀全局命名空間-銷毀內建命名空間。
關于“Python中命名空間是什么?命名空間生命周期是多久?”的問題,上面小編已經為大家做了詳細的介紹,同學們一定要做好筆記哦,如果您對Python技術非常感興趣,可以來了解一下千鋒教育提供的Python培訓課程,千鋒教育在全國20多所城市均設有教學基地,歡迎同學們前來咨詢了解。