Python核心編程學習日記之模組

來源:互聯網
上載者:User
模組

模組用來組織代碼,包是用來組織模組的。自我包含並且有組織的程式碼片段就是模組

    1. 預設搜尋路徑修改:一個是啟動Python的shell或命令列的PYTHONPATH環境變數。在解譯器裡的sys模組的sys.path變數儲存這些目錄路徑。
    2. 名稱空間是名稱(標識符)到對象的映射。執行期間有兩個或三個活動的名稱空間:局部名稱空間,全域名稱空間,內建名稱空間。Python解譯器會首先載入內建名稱空間,隨後載入執行模組的全域名稱空間。執行期間調用函數,建立出局部名稱空間
    3. __builtins__模組和__builtin__模組:__builtins__模組包含內建名稱空間中內建名字的集合。大多數來自__builtin__模組。__builtins__包含__builtin__的所有名字。
    4. 無限制的名稱空間:可以在任何需要放置資料的地方獲得一個名稱空間。
    5. 〈li> 建議所有的模組在Python模組的開頭部分匯入。順序為:Python標準庫模組,python第三方模組,應用程式自訂模組。

匯入指定名稱:from module import name[, name2[,... nameN]]

不建議使用from Module import *語句。可以使用import Name as MyName來使用自己喜歡的名字替換原本的名字

無論匯入多少次,模組只被載入一次。載入模組將導致模組被執行。

  1. from __future__import new_feature : 匯入將來會逐漸確定的新特性。只imort __futrue__被禁止,引腳為它不會啟用所有特性,不許顯示的匯入指定特性。
  2. Python 支援從ZIP歸檔檔案中匯入模組的功能。匯入時會把ZIP檔案當做目錄處理,因此,可以把ZIP檔案寫入到檔案路徑中。
  3. 模組內建函數
    1. __import__():import語句調用__import__()函數來完成工作。文法為:

      __import__(module_name[, globals[, locals[, formalist]]])

      globals,locals,formlist預設為globals(),locals(),[]。

    2. globals()返回調用者全域名稱空間的字典。locals()返回調用者局部名稱空間的字典。
    3. reload()重新匯入一個已經匯入的模組。 :reload(module)
  4. 包是一個有層次的檔案目錄結構。定義了一個由模組和子包組成的Python應用程式執行環境。包也使用據點屬性標識來訪問他們的元素。
    1. 對於目錄結構,同樣可以使用import Upper.sub 和from-import語句。from package.module import *語句使得匯入的檔案取決於作業系統的檔案系統。在__init__.py中加入__all__變數。它是一個由執行該語句時會匯入的模組名字組成的列表。
    2. 絕對匯入:匯入的模組名字必須通過Python路徑(sys.path或是PYTHONPATH)來訪問。絕對匯入已成為預設功能。
    3. 相對匯入:import語句總是絕對匯入的,相對匯入只應用於from-import語句。
  5. 當Python解譯器在標準模組下啟動時,一些模組會被解譯器自動匯入。sys.modules變數包含一個由當前載入(完整且成功匯入)到解譯器的模組組成的字典。模組名為鍵,位置為值。
  6. 阻止屬性匯入:如果不想讓某個模組屬性被“from module import *”匯入,給你不想匯入的屬性名稱加上一個底線(_)
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.