每一個(gè)py文件,我們都稱為一個(gè)python模塊腹侣,包含了python對象定義個(gè)python語句呵扛,模塊讓你能夠有邏輯地組織你的python代碼段,把相關(guān)的代碼分配到一個(gè)模塊里面能讓 你的代碼更號用筐带,更易懂今穿。
模塊能定義函數(shù),類和變量伦籍,模塊里面也能包含可執(zhí)行的代碼蓝晒。
每一個(gè)新建的py文件,就是一個(gè)模塊帖鸦。
目的:提高復(fù)用性芝薇,寫好了,在你需要的地方直接調(diào)用即可
用法:
1) import 模塊名
注意:如果py文件在lib下面作儿,我們可以直接調(diào)用
在你需要用到某個(gè)函數(shù) 或者某塊代碼的時(shí)候洛二,直接import 模塊名 攻锰,然后直接使用函數(shù)即可晾嘶。
用法:import 模塊名
調(diào)用:模塊名.函數(shù)
2) 如果是一個(gè)文件夾或者是一個(gè)package,怎么去引用呢?
用法:import 文件夾名(package).模塊名.函數(shù)名
調(diào)用:文件名.模塊名.函數(shù)
import 導(dǎo)入模塊名
導(dǎo)入的py文件如果是在python安裝的lib目錄下娶吞,導(dǎo)入時(shí)按下面方法導(dǎo)入
用法:import 模塊名
調(diào)用:模塊名.函數(shù)(傳入?yún)?shù))
比如:Pycharm工具的某個(gè)項(xiàng)目下
1.創(chuàng)建一個(gè)py文件:pythonMath.py,該py文件實(shí)現(xiàn)兩個(gè)數(shù)相加垒迂,如下:
__author__=‘20489’#創(chuàng)建py文件,會自當(dāng)生成這段代碼
def add(a,b):
return a+b
2.把pythonMath.py這個(gè)文件拷貝到python安裝的lib目錄下
3.在項(xiàng)目下把pythonMath.py文件名改成pythonMathNew.py
因?yàn)椋簩?dǎo)入的模塊名不能和py文件名重復(fù)妒蛇,否則會報(bào)錯(cuò)
pythonMathNew.py導(dǎo)入 pythonMath.py
__author__=‘20489’
import pythonMath
#導(dǎo)入模塊后机断,直接調(diào)用該模塊中的方法
#調(diào)用:模塊名.函數(shù)(傳入?yún)?shù))
sum= pythonMath.add(3,4)
print(sum)
注意:
1.導(dǎo)入模塊名不能具體到函數(shù),,比如這種導(dǎo)入就是會報(bào)錯(cuò)
import pythonMath.add#這種導(dǎo)入會報(bào)錯(cuò)绣夺,提示 pythonMath is not a package
2.導(dǎo)入的模塊名不能和py文件名重復(fù)吏奸,否則會報(bào)錯(cuò)
比如pythonMath.py中import pythonMath,運(yùn)行時(shí)就會報(bào)錯(cuò):
AttributeError:'module' object has no attribute 'add'
提示:模塊沒有add屬性,這種錯(cuò)誤是debug不出來的陶耍。
import 導(dǎo)入一個(gè)包package
如果要導(dǎo)入的模塊在包里面奋蔚,那么導(dǎo)入時(shí)就要一級一級點(diǎn)找下去:即:
用法:import 文件夾名(package).模塊名.函數(shù)名
調(diào)用:文件名.模塊名.函數(shù)
如:import email.mime.image
email是python安裝的lib下面的包,mime是email下面的子包