內部有__ init__.py的文件夾,用於管理模塊,包也能夠被導入,而且能夠一併導入包下全部的模塊python
包能夠幫咱們管理模塊,包裏面有一個__ init __.py,由它幫咱們管理模塊函數
import 包.模塊名測試
包.模塊.名字code
from 包 import 模塊名blog
from 包.模塊名 import 模塊中的名字內存
模塊是一系列功能的結合體,本質上是一個個的.py文件get
python內置的模塊(python解釋器)requests
好比:sys、time、os、turtleit
第三方的模塊(別寫的)編譯
好比:requests
自定義的模塊(本身寫的)
本身定義的py文件
在測試代碼時寫加
快捷鍵:main+enter
if __name__ == "__main__": get_demo() # 測試模塊
python解釋器下的py文件
python解釋器下的文件夾
一個個的py文件
模塊能夠幫助咱們更好的管理功能代碼,好比:函數....
能夠將項目拆分紅一個個功能,分別存放在不一樣的py文件(模塊)中
建立:直接新建py文件
編寫:在py文件中直接編寫python代碼
使用:經過import關鍵字導入模塊或者經過from 。。。import。。。導入模塊
import 模塊 as 模塊的別名、from 包/模塊 import 模塊/(函數名、變量名、類名)as 模塊別名
在使用模塊時須要注意,誰是執行文件,誰是被導入文件(模塊)
模塊在首次導入時就已經將其加載到內存中了,當前文件查找的順序是先從內存中查找,以後的重複導入會直接從內存中查找,不會重複執行文件
首次導入模塊會作三件事:
三個文件model1.py、model2.py、執行文件.py # - model1.py from model2 import name name = 'jason' # - model2.py from model1 import name name = 'tank' # -執行文件.py from model1 import name print(name) >>> ImportError: cannot import name 'name' from 'model'
# 1.須要查找的名字放在導入模塊的上方 # - model1.py name = 'jason' from model2 import name # - model2.py from model1 import name name = 'tank' # -執行文件.py from model1 import name print(name) >>> jason
# 2.在函數內部導入,將模塊變成函數名稱空間中的名字 # - model1.py def func(): from model2 import name name = 'jason' # - model2.py from model1 import name name = 'tank' # -執行文件.py from model1 import name print(name) >>> jason