首頁  >  文章  >  後端開發  >  Python中的命名空間與範圍

Python中的命名空間與範圍

青灯夜游
青灯夜游原創
2019-02-14 16:32:482101瀏覽

在Python中,每個套件、模組、類別、函數和方法函數都擁有一個“名稱空間”,其中解析了變數名稱。以下這篇文章就來帶大家認識Python中的命名空間和範圍,希望對大家有幫助。

Python中的命名空間與範圍

什麼是命名空間:

#命名空間是一個系統,用來確保程式中的所有名稱都是唯一的,並且可以在沒有任何衝突的情況下使用。多個名稱空間可以使用相同的名稱並將其對應到不同的物件。 【影片教學推薦:Python教學

舉個例子,電腦中的目錄檔案系統結構。不用說,一個人可以擁有多個目錄,每個目錄中都可以有一個具有相同名稱的檔案。但是,人們可以透過指定檔案的絕對路徑來定向檔案。

Python中的命名空間是作為Python字典實現的,這意味著它是從名稱(鍵)到物件(值)的映射。使用者無需知道這一點就可以編寫Python程式以及使用命名空間時。

命名空間的類型:

本機命名空間:此命名空間包含函數內的本機名稱。呼叫函數時會建立此命名空間,它只會持續到函數傳回。

全域命名空間:此命名空間包含您在專案中使用的各種匯入模組的名稱。它是在模組包含在專案中時創建的,並且一直持續到腳本結束。

內建命名空間:此命名空間包含內建函數和內建例外名稱。

Python中的命名空間與範圍

命名空間的生命週期:

#命名空間的生命週期取決於物件的範圍,如果物件的範圍結束,則該命名空間的生命週期結束。因此,無法從外部命名空間存取內部命名空間的物件。

什麼是範圍?

命名空間可以幫助我們唯一地識別程式中的所有名稱。但是,這並不意味著我們可以在任何地方使用變數名稱。名稱還有一個範圍,用於定義程式中可以使用該名稱而不使用任何前綴的部分。就像命名空間一樣,程式中也有多個範圍。

範圍是指程式的一個區域,其中可以直接存取命名空間,即不使用命名空間前綴。換句話說:名稱的範圍是程式的一個區域,可以明確地使用該名稱,例如在函數內部。

名稱的名稱空間與其範圍相同。範圍是靜態定義的,但它們是動態使用的。 

以下是程式執行期間​​可能存在的一些範圍的清單:

  ●   本地範圍:它是最裡面的範圍,包含目前函數中可用的本地名稱清單。

  ●   所有封閉函數的範圍:搜尋名稱從最近的封閉範圍開始並向外移動。

  ●   包含目前模組中所有全域名稱的模組級作用域。

  ●   包含所有內建名稱清單的最外層作用域。最後搜尋此範圍以尋找您引用的名稱。

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是Python中的命名空間與範圍的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn