模塊
簡(jiǎn)介
- 每一個(gè)以擴(kuò)展名py結(jié)尾的Python源代碼文件都是一個(gè)模塊,模塊名同樣也是一個(gè)標(biāo)識(shí)符,需要符合標(biāo)識(shí)符的命名規(guī)則
- 模塊就是工具包,模塊內(nèi)的函數(shù)就是工具,想要使用工具,就要導(dǎo)入工具包(模塊)
導(dǎo)入方式
- import:導(dǎo)入,是一次性把模塊中所有函數(shù)全部導(dǎo)入
-
import 模塊名- 在導(dǎo)入模塊時(shí),每個(gè)導(dǎo)入應(yīng)該獨(dú)占一行
- 通過
模塊名.使用模塊提供的函數(shù)
- import代碼統(tǒng)一寫在代碼頂部,容易及時(shí)發(fā)現(xiàn)沖突,一旦發(fā)現(xiàn)沖突,可以使用
as關(guān)鍵字給其中一個(gè)函數(shù)起別名:import 模塊名 as 模塊別名 - from...import:導(dǎo)入,導(dǎo)入模塊部分函數(shù)
# 從模塊導(dǎo)入某個(gè)工具
from 模塊名 import 函數(shù)名
- 如果兩個(gè)模塊,存在相同的函數(shù),會(huì)被后導(dǎo)入的模塊函數(shù)覆蓋掉
模塊的搜索順序
- 導(dǎo)入模塊時(shí),會(huì)先搜索當(dāng)前目錄指定模塊名的文件,如果有就直接導(dǎo)入,沒有,在搜索系統(tǒng)目錄
- 可以通過
sys.path給出的列表查看目錄里,依次要導(dǎo)入的模塊文件,列表中的路徑的先后順序代表了Python解釋器在搜索模塊時(shí)的先后順序 - 可以通過
sys.path.append('xxx')的方式添加路徑,通過sys.path.insert(0,'xxx')可以確保先搜索這個(gè)路徑 - Python中每一個(gè)模塊都有一個(gè)內(nèi)置屬性
__file__可以查看模塊完整路徑
name屬性
- name_是Python的一個(gè)內(nèi)置屬性,記錄著一個(gè)字符串,如果被其他文件導(dǎo)入,name就是模塊名
包
- 包是一個(gè)包含多個(gè)模塊的特殊目錄,目錄下有一個(gè)特殊的文件:init.py
- 包名的命名方式和變量名一致
發(fā)布模塊
創(chuàng)建模塊
- 創(chuàng)建setup.py
from distutils.core import setup
setup(name="hm_message", # 包名
version="1.0", # 版本
description="itheima's 發(fā)送和接受消息模塊", # 描述信息
long_description="完整的發(fā)送和接受消息模塊", # 完整描述信息
author="xxx", # 作者
author_email="xxx@xxx.com", # 作者郵箱
url="www.xxx.com", # 主頁(yè)
py_modules=["hm_message.send_message","hm_message.receive_message"])
構(gòu)建模塊
$ python setup.py build
生成并發(fā)布?jí)嚎s包
$ python setup.py sdist
安裝模塊
$ tar -zxvf hm_message-1.0.tar.gz # 解壓模塊
$ sudo python setup.py install $ 提權(quán)并進(jìn)行模塊安裝
卸載模塊
- 直接從安裝目錄中,把安裝的模塊的目錄刪除就可以了
安裝第三方模塊
- 第三方模塊通常是指由知名的第三方團(tuán)隊(duì)開發(fā),并且被廣泛使用的Python包/模塊
安裝和卸載
$ sudo pip3 install 模塊名 # 安裝模塊
$ sudo pip uninstall 模塊名 # 卸載模塊