1.模塊化編程
1. 導(dǎo)入模塊的語法
# 導(dǎo)入整個(gè)模塊
import 模塊名1 [as 別名1]薪捍, 模塊名2 [as 別名2]锭沟, ...
# 導(dǎo)入模塊中指定成員
from 模塊名 import 成員名1 [as 別名1]抽兆,成員名2 [as 別名2],...
第一種導(dǎo)入整個(gè)模塊的的所有成員(包括變量族淮,函數(shù)辫红,類等)
第二種只導(dǎo)入模塊內(nèi)的指定成員(除非使用from 模塊名 import *,但通常不推薦使用)
使用第一種的成員時(shí)祝辣,必須添加模塊名或模塊別名前綴
使用第二種的成員時(shí)贴妻,無須使用任何前綴
導(dǎo)入模塊
2. 定義模塊
模塊就是Python程序!任何Python程序都可以作為模塊導(dǎo)入较幌。
對于任何程序揍瑟,只要導(dǎo)入了模塊就可以使用該模塊內(nèi)的所有成員。
3. 為模塊編寫說明文檔
在第一行代碼之前乍炉。用“”“”“”包含起來的說明文字就是說明文檔了绢片。
可以通過模塊的doc屬性來訪問文檔
文件路徑
文件路徑
test1.py
test1.py
test2.py
test2.py
test2.py 運(yùn)行結(jié)果
test2.py 運(yùn)行結(jié)果
4. 為模塊編寫測試代碼
當(dāng)模塊編寫完成后,可以還需要為模塊編寫一些測試代碼岛琼,用于測試模塊中的每一個(gè)程序單元是否都能正常運(yùn)行底循。
2. 加載模塊
1. 為了讓Python能找到我們編寫(第三方提供)的模塊,有以下兩種方式:
- 使用環(huán)境變量
- 將模塊放在默認(rèn)的模塊加載路徑下
2. all變量
有的模塊中雖然包含很多成員槐瑞,但不希望每個(gè)成員都暴露出來供外界使用熙涤,可以借助all變量,將變量的值設(shè)置成一個(gè)列表,只有該列表中的程序單元才會(huì)被暴露出來祠挫。
all_module.py
'測試__all__變量的模塊'
def hello():
print("Hello, Python")
def world():
print("Pyhton World is funny")
def test():
print('--test--')
# 定義__all__變量那槽,指定默認(rèn)只導(dǎo)入hello和world兩個(gè)程序單元
__all__ = ['hello', 'world']
all_module_test.py
# 導(dǎo)入all_module模塊內(nèi)所有成員
from all_module import *
hello()
world()
test() # 會(huì)提示找不到test()函數(shù)
3. 使用包
1. 什么是包
- 從物理上看,包就是一個(gè)文件夾等舔,在該文件夾下包含了一個(gè)init.py文件骚灸,該文件夾可用于包含多個(gè)模塊源文件。
- 從邏輯上看慌植,包的本質(zhì)依然是模塊甚牲。
2. 定義包
- 創(chuàng)建文件夾,包名就是文件夾的名字蝶柿。
- 在該文件夾內(nèi)添加一個(gè)init.py文件即可丈钙。
3. 導(dǎo)入包內(nèi)成員
與導(dǎo)入模塊類似
4. 查看模塊內(nèi)容
1. 模塊包含什么
- 使用dir()函數(shù)
- 使用模塊本身提供的all變量
dir函數(shù)
__all__變量
2. 使用doc屬性查看文檔
help(string.capwords)
# 或者
print(string.capwords.__doc__)
3. 使用file屬性查看模塊的源文件路徑
print(string.__file__)