15-Python之路-進(jìn)階-模塊和包

模塊

簡(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 模塊名        # 卸載模塊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容