python什么是命名空間-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元福鼎做網(wǎng)站,已為上家服務(wù),為福鼎各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

python什么是命名空間?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

在Python中,所有的名字都存在一個空間中,它們在該空間中存在和被操作——這就是命名空間。它就像一個盒子,每一個變量名字都對應(yīng)裝著一個對象。當(dāng)查詢變量的時候,會從該盒子里面找到相應(yīng)的對象。

【定義】

名稱到對象的映射。命名空間是一個字典的實現(xiàn),鍵為變量名,值是變量對應(yīng)的值。各個命名空間是獨(dú)立沒有關(guān)系的,一個命名空間中不能有重名,但是不同的命名空間可以重名而沒有任何影響。

【分類】

python程序執(zhí)行期間會有2個或3個活動的命名空間(函數(shù)調(diào)用時有3個,函數(shù)調(diào)用結(jié)束后2個)。按照變量定義的位置,可以劃分為以下3類:

Local,局部命名空間,每個函數(shù)所擁有的命名空間,記錄了函數(shù)中定義的所有變量,包括函數(shù)的入?yún)ⅰ?nèi)部定義的局部變量。

Global,全局命名空間,每個模塊加載執(zhí)行時創(chuàng)建的,記錄了模塊中定義的變量,包括模塊中定義的函數(shù)、類、其他導(dǎo)入的模塊、模塊級的變量與常量。

Built-in,python自帶的內(nèi)建命名空間,任何模塊均可以訪問,放著內(nèi)置的函數(shù)和異常。

【生命周期】

Local(局部命名空間)在函數(shù)被調(diào)用時才被創(chuàng)建,但函數(shù)返回結(jié)果或拋出異常時被刪除。(每一個遞歸函數(shù)都擁有自己的命名空間)。

Global(全局命名空間)在模塊被加載時創(chuàng)建,通常一直保留直到python解釋器退出。

Built-in(內(nèi)建命名空間)在python解釋器啟動時創(chuàng)建,一直保留直到解釋器退出。

各命名空間創(chuàng)建順序:python解釋器啟動 ->創(chuàng)建內(nèi)建命名空間 -> 加載模塊 -> 創(chuàng)建全局命名空間 ->函數(shù)被調(diào)用 ->創(chuàng)建局部命名空間

各命名空間銷毀順序:函數(shù)調(diào)用結(jié)束 -> 銷毀函數(shù)對應(yīng)的局部命名空間 -> python虛擬機(jī)(解釋器)退出 ->銷毀全局命名空間 ->銷毀內(nèi)建命名空間

python解釋器加載階段會創(chuàng)建出內(nèi)建命名空間、模塊的全局命名空間,局部命名空間是在運(yùn)行階段函數(shù)被調(diào)用時動態(tài)創(chuàng)建出來的,函數(shù)調(diào)用結(jié)束動態(tài)的銷毀的。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

分享名稱:python什么是命名空間-創(chuàng)新互聯(lián)
當(dāng)前地址:http://muchs.cn/article16/cdsogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站網(wǎng)站策劃、網(wǎng)站設(shè)計公司、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司