python-模塊入門
一、模塊介紹
模塊:模塊就是一系列功能的集合體
模塊有三種來源: 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-模塊入門