Python全棧-day14-模組和包

來源:互聯網
上載者:User

標籤:共用庫   出現   檔案名稱   執行   順序   建立檔案   nbsp   ini   錯誤   

一、模組 1.模組

  1)定義

    一系列功能的集合體,在Python中py檔案就是一個模組

  2)模組的類別

    a.使用Python編寫的py檔案

    b.已經被編譯成共用庫或者DLL的C 或者 C++ 擴充

    c.把一系列模組組織在一起的檔案夾(註:檔案夾下有一個__init__.py檔案,該檔案成稱之為包)

    d.使用 C 編寫並連結到Python解譯器的內建模組

  3)為什麼要實用模組

    a.重用功能

    b.拿來主義,提高開發效率

2.模組的匯入方法

    1)方法一:

      import  模組名

      調用模組內功能:  模組名.模組名名稱空間中的名字

      一次匯入之後,直接引用第一次匯入的結果,不會重複執行檔案模組中的功能

      匯入時執行三件事:

        a.建立檔案名稱空間

        b.執行模組對應檔案,把名字放在建立的名稱空間中

        c.在當前執行檔案中拿到一個模組名,該模組指向1建立的名稱空間

# 匯入和調用模組內的功能import timeres = time.sleep(5)# 匯入模組後起別名import socketserver as sockserver# 一行匯入多個模組# import xx,ss,yy....

    2)方法二:

      from  模組名  import  xxx(名字)

      首次匯入模組,前兩件事和import匯入的方法一樣,第三件事直接拿xxx(屬於執行檔案的名稱空間),xxx是指向模組中對應的值

      優點:不加首碼,代碼比較精簡

      缺點:容易與當前執行檔案名稱空間中的名字重複,導致無法引用

# 匯入方法from time import sleep# 全部匯入from time import sleep *

    3)通過__name__區分py檔案的兩種用途

      a.if __name__ == ‘__main__‘  檔案被當做指令碼執行

      b.等於模組名時,檔案被當做模組匯入

    4)模組的搜尋路徑

      記憶體   >  內建模組  >  sys.path

強調:

  sys.path的第一個值為當前執行檔案的檔案夾

  通過搜尋順序可以看出,通過from匯入模組或者開發人員把當前執行檔案的名字或者檔案內的對象定義成引用的模組的名字時,會出現無法引用模組的錯誤

二、包1.包

  1)定義

    包是一種通過使用 ‘.模組名  ‘ 來組織Python模組名稱空間的方式,具體說包就是一個含有__init__.py檔案的檔案夾,建立的目的就是為了用檔案夾/模組組織起來

  注意:

    a.在Python3.x中,即使包下沒有__init__.py檔案,匯入包也不會出錯,而在Python2.x中,包下必須存在該檔案

    b.建立包的目的不是為了運行,而是被匯入使用,包只是模組的一種形式,其本質就是模組

2.為什麼使用包

  包是有檔案夾組織起來的模組,檔案夾的功能就是將模組組織起來,隨著功能越寫越多,我們將無法將所有功能都放在一個檔案夾中,於是通過檔案夾把模組組織起來,以提高程式的結構性和可維護性

參考:  http://www.cnblogs.com/linhaifeng/articles/6379069.html#_label10

 


 

Python全棧-day14-模組和包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.