在Python中,每個套件、模組、類別、函數和方法函數都擁有一個“名稱空間”,其中解析了變數名稱。以下這篇文章就來帶大家認識Python中的命名空間和範圍,希望對大家有幫助。
什麼是命名空間:
#命名空間是一個系統,用來確保程式中的所有名稱都是唯一的,並且可以在沒有任何衝突的情況下使用。多個名稱空間可以使用相同的名稱並將其對應到不同的物件。 【影片教學推薦:Python教學】
舉個例子,電腦中的目錄檔案系統結構。不用說,一個人可以擁有多個目錄,每個目錄中都可以有一個具有相同名稱的檔案。但是,人們可以透過指定檔案的絕對路徑來定向檔案。
Python中的命名空間是作為Python字典實現的,這意味著它是從名稱(鍵)到物件(值)的映射。使用者無需知道這一點就可以編寫Python程式以及使用命名空間時。
命名空間的類型:
本機命名空間:此命名空間包含函數內的本機名稱。呼叫函數時會建立此命名空間,它只會持續到函數傳回。
全域命名空間:此命名空間包含您在專案中使用的各種匯入模組的名稱。它是在模組包含在專案中時創建的,並且一直持續到腳本結束。
內建命名空間:此命名空間包含內建函數和內建例外名稱。
命名空間的生命週期:
#命名空間的生命週期取決於物件的範圍,如果物件的範圍結束,則該命名空間的生命週期結束。因此,無法從外部命名空間存取內部命名空間的物件。
什麼是範圍?
命名空間可以幫助我們唯一地識別程式中的所有名稱。但是,這並不意味著我們可以在任何地方使用變數名稱。名稱還有一個範圍,用於定義程式中可以使用該名稱而不使用任何前綴的部分。就像命名空間一樣,程式中也有多個範圍。
範圍是指程式的一個區域,其中可以直接存取命名空間,即不使用命名空間前綴。換句話說:名稱的範圍是程式的一個區域,可以明確地使用該名稱,例如在函數內部。
名稱的名稱空間與其範圍相同。範圍是靜態定義的,但它們是動態使用的。
以下是程式執行期間可能存在的一些範圍的清單:
● 本地範圍:它是最裡面的範圍,包含目前函數中可用的本地名稱清單。
● 所有封閉函數的範圍:搜尋名稱從最近的封閉範圍開始並向外移動。
● 包含目前模組中所有全域名稱的模組級作用域。
● 包含所有內建名稱清單的最外層作用域。最後搜尋此範圍以尋找您引用的名稱。
以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是Python中的命名空間與範圍的詳細內容。更多資訊請關注PHP中文網其他相關文章!