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