創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
python什么是命名空間?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在Python中,所有的名字都存在一個空間中,它們在該空間中存在和被操作——這就是命名空間。它就像一個盒子,每一個變量名字都對應裝著一個對象。當查詢變量的時候,會從該盒子里面找到相應的對象。
【定義】
名稱到對象的映射。命名空間是一個字典的實現,鍵為變量名,值是變量對應的值。各個命名空間是獨立沒有關系的,一個命名空間中不能有重名,但是不同的命名空間可以重名而沒有任何影響。
【分類】
python程序執行期間會有2個或3個活動的命名空間(函數調用時有3個,函數調用結束后2個)。按照變量定義的位置,可以劃分為以下3類:
Local,局部命名空間,每個函數所擁有的命名空間,記錄了函數中定義的所有變量,包括函數的入參、內部定義的局部變量。
Global,全局命名空間,每個模塊加載執行時創建的,記錄了模塊中定義的變量,包括模塊中定義的函數、類、其他導入的模塊、模塊級的變量與常量。
Built-in,python自帶的內建命名空間,任何模塊均可以訪問,放著內置的函數和異常。
【生命周期】
Local(局部命名空間)在函數被調用時才被創建,但函數返回結果或拋出異常時被刪除。(每一個遞歸函數都擁有自己的命名空間)。
Global(全局命名空間)在模塊被加載時創建,通常一直保留直到python解釋器退出。
Built-in(內建命名空間)在python解釋器啟動時創建,一直保留直到解釋器退出。
各命名空間創建順序:python解釋器啟動 ->創建內建命名空間 -> 加載模塊 -> 創建全局命名空間 ->函數被調用 ->創建局部命名空間
各命名空間銷毀順序:函數調用結束 -> 銷毀函數對應的局部命名空間 -> python虛擬機(解釋器)退出 ->銷毀全局命名空間 ->銷毀內建命名空間
python解釋器加載階段會創建出內建命名空間、模塊的全局命名空間,局部命名空間是在運行階段函數被調用時動態創建出來的,函數調用結束動態的銷毀的。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯-成都網站建設公司行業資訊頻道,感謝您對創新互聯的支持。
分享名稱:python什么是命名空間-創新互聯
當前地址:http://m.kartarina.com/article16/cdsogg.html
成都網站建設公司_創新互聯,為您提供ChatGPT、外貿網站建設、靜態網站、網站策劃、網站設計公司、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯