1. 程式人生 > >python-模塊入門

python-模塊入門

好處 減少代碼冗余 strong 導入模塊 抽取 span att 執行文件 都是

一、模塊介紹

模塊:模塊就是一系列功能的集合體

模塊有三種來源: 1.內置模塊

        2.第三方的模塊

        3.自定義模塊

模塊的格式: 1使用python編寫的.py文件

      2.已被編譯為共享庫或DLL的C或C++擴展

      3.把一系列模塊組織到一起的文件夾(註:文件夾下有一個__init__.py文件,該文件稱之為包)

      4.使用C編寫並鏈接到python解釋器的內置模塊

為何要用模塊?

  1.使用內置的或者第三方模塊的好處是:拿來主義,可以極大提升開發效率

  2.使用自定義模塊的好處是:可以減少代碼冗余(抽取我們自己程序中要公用的一些功能定義成模塊,然後程序的各部分組件都去模塊中調用共享功能)

註: 一定要區分開誰是執行文件,誰是被導入模塊

二、import導入模塊

首次導入模塊:

  1.會產生一個模塊的名稱空間

  2.執行模塊文件,將執行過程中產生的名字都放到模塊的名稱空間中

  3.在當前執行文件的名稱空間中拿到一個模塊名,該名字指向模塊的名稱空間

後面的導入,都是直接引用第一次導入的成果,不會重新執行文件

spam.money 在執行文件中訪問模塊名稱空間中名字的語法: 模塊名.名字(註:模塊名應該全部為小寫)

指名道姓地跟spam要money 不會與當前執行文件中的名字沖突

為模塊起別名 import xxx as x

總結import導入模塊:

  優點:指名道姓地向某一個名稱空間要名字,不會與當前名稱空間中的名字沖突

  缺點:但凡應用模塊中的名字都需要前綴,不夠簡潔

三、from...import...導入模塊

首次導入模塊:

  1.會產生一個模塊的名稱空間

  2.執行模塊文件,將執行過程中產生的名字都放到模塊的名稱空間中

  3.在當前執行文件的名稱空間中拿到一個名字,該名字就是執行模塊中對應的名字

總結from...import...

  優點:使用時,無需再加前綴,更簡潔

  缺點:容易與當前名稱空間中的名字沖突

補充:

  from xxx import * 導入全部 *代表從被導入模塊中拿到所有名字(不推薦使用)

  在導入模塊時,如果未找到__all__中的成員,拋出attributeError

# __all__ = [‘money‘,‘read1‘]

python-模塊入門