一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Pyhton模塊和包相關(guān)知識總結(jié)

Pyhton模塊和包相關(guān)知識總結(jié)

2021-10-29 09:39?VVcat? Python

文中詳細(xì)整理了關(guān)于Python模塊和包的相關(guān)知識點,剛?cè)腴TPython的小伙伴們可以學(xué)習(xí)一下,有助于加深Python基礎(chǔ)的理解.而且有詳細(xì)說明及代碼示例,需要的朋友可以參考下

一、模塊

每一個以擴展名 py 結(jié)尾額 python 源代碼文件都是一個模塊模塊名 同樣也是一個標(biāo)識符,需要符合標(biāo)識符的命名規(guī)則在模塊中定義的 全局變量、函數(shù)、類 都是提供給外接直接使用的工具 模塊的兩種導(dǎo)入方式

1)import 導(dǎo)入

?
1
import 模塊名1,模塊名2

?
1
2
import 模塊名1
import 模塊名2

導(dǎo)入之后

  • 通過 模塊名. 使用 模塊提供的工具——全局變量、函數(shù)、類

使用 as 指定模塊的別名

?
1
import 模塊名1 as 模塊別名

注意:模塊別名應(yīng)該 符合 大駝峰命名法

2)from…import 導(dǎo)入

  • 如果希望從某一個模塊中,導(dǎo)入 部分工具,就可以使用 from … import 的方式
  • import 模塊名 是一次性把模塊中 所有工具全部導(dǎo)入,并且通過 模塊名/別名 訪問
?
1
2
# 從模塊 導(dǎo)入 某一個工具
from 模塊1 import 工具名

導(dǎo)入之后

  •  不需要通過 模塊名.
  • 可以直接使用 模塊提供的工具——全局變量、函數(shù)、類

注意:
如果 兩個模塊,存在同名的函數(shù),那么后導(dǎo)入模塊的函數(shù),會覆蓋掉先導(dǎo)入的函數(shù)

  • 如果代碼沖突,可以使用 as 關(guān)鍵 給其中一個模塊起一個別名

from…import * (不推薦使用)

?
1
2
# 從模塊 導(dǎo)入 所有工具
from 模塊名1 import *

二、模塊的搜索順序

python 的解釋器在 導(dǎo)入模塊時,會:

1.搜索 當(dāng)前目錄 指定模塊名的文件,如果有就直接導(dǎo)入

2.如果沒有,再搜索 系統(tǒng)目錄

注意:在給文件起名時,不要和系統(tǒng)的模塊文件 重名

python 中每一個模塊都有一個內(nèi)置屬性 __file__ 可以查看模塊的 完整路徑

三、使模塊下方的測試代碼在導(dǎo)入時不會執(zhí)行

  • 在導(dǎo)入文件時,文件中所有沒有任何縮進的代碼 都會被執(zhí)行一遍

__name__屬性

  • __name__屬性 可以做到,測試模塊的代碼只在測試情況下被運行,而在被導(dǎo)入時不會被執(zhí)行
  • __name__ 是 python 的一個內(nèi)置屬性,記錄著一個字符串
  • 如果 是被其他文件導(dǎo)入的,__name__就是 模塊名
  • 如果是當(dāng)前執(zhí)行的程序 __name__是 __main__

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
# 導(dǎo)入模塊
# 定義全局變量
# 定義類
# 定義函數(shù)
 
# 在代碼的最下方
def main():
    # ...
    pass
 
# 根據(jù) __name__判斷是否執(zhí)行下方代碼
if __name__ == '__main__':
    main()

四、包

  • 包是一個 包含多個模塊的 特殊目錄目錄
  • 下有一個 特殊的文件 __init__.py
  • 使用 import 包名 可以一次性導(dǎo)入 包 中所有的模塊

__init__.py

  • 要在外界使用 包 中的模塊,需要在 __init__.py 中指定 對外界提供的模塊列表
?
1
2
3
# 從 當(dāng)前目錄 導(dǎo)入 模塊列表
from . import 模塊名
from . import 模塊名

例如:

Pyhton模塊和包相關(guān)知識總結(jié)

五、發(fā)布模塊

制作發(fā)布壓縮包步驟

1)創(chuàng)建 setup.py

setup.py 的文件

?
1
2
3
4
5
6
7
8
9
10
11
from distutils.core import setup
 
setup(name="vvcat_package"# 包名
        version="1.0", # 版本
        description="用來測試"# 描述信息
        long_description="用來測試如何發(fā)布壓縮包"# 完整描述信息
        author="vvcat"# 作者
        author_email="[email protected]"#作者郵箱
        url="https://blog.csdn.net/qq_44989881?t=1"# 主頁
        py_modules=["vvcat_package.test1"
                    "vvcat_package.test2"])  # 包中的模塊

有關(guān)字典參數(shù)的詳細(xì)信息,可以參閱官方網(wǎng)站:

 

Pyhton模塊和包相關(guān)知識總結(jié)

Pyhton模塊和包相關(guān)知識總結(jié)

先cd到setup.py 所在的目錄 ,通過 ls -l 命令 可以看到有以下幾個文件

Pyhton模塊和包相關(guān)知識總結(jié)

2)構(gòu)建模塊

?
1
python3 setup.py build

Pyhton模塊和包相關(guān)知識總結(jié)

通過 tree命令可以看到當(dāng)前目錄結(jié)構(gòu)
如果沒有 tree 命令,可以通過以下操作,安裝

?
1
sudo apt-get install tree

使用 tree命令 后會看到
使用 python3 setup.py build命令 生成的 build 文件夾中的內(nèi)容

Pyhton模塊和包相關(guān)知識總結(jié)

3)生成發(fā)布壓縮包

?
1
python3 setup.py sdist

Pyhton模塊和包相關(guān)知識總結(jié)
Pyhton模塊和包相關(guān)知識總結(jié)

六、安裝模塊

Pyhton模塊和包相關(guān)知識總結(jié)

?
1
2
3
tar -zxvf 包名-1.0.tar.gz
 
sudo python3 setup.py install

使用 tar -zxvf vvcat_package-1.0.tar.gz 命令后

Pyhton模塊和包相關(guān)知識總結(jié)

會出現(xiàn) vvcat_package-1.0文件夾

Pyhton模塊和包相關(guān)知識總結(jié)

vvcat_package-1.0文件夾中的內(nèi)容

Pyhton模塊和包相關(guān)知識總結(jié)

使用 cat pkg-info命令可以查看到 pkg-info文件中的內(nèi)容

Pyhton模塊和包相關(guān)知識總結(jié)

使用 sudo python3 setup.py install命令安裝vvcat_package模塊

Pyhton模塊和包相關(guān)知識總結(jié)

查看 vvcat_package模塊安裝后所在的目錄,會看到以下幾個文件:
vvcat_package vvcat_package-1.0.egg-info

Pyhton模塊和包相關(guān)知識總結(jié)

通過 ipython3 對安裝的模塊進行測試

Pyhton模塊和包相關(guān)知識總結(jié)
Pyhton模塊和包相關(guān)知識總結(jié)

七、卸載模塊

直接從安裝目錄下,把安裝模塊的目錄 刪除就可以

?
1
2
3
cd /usr/local/lib/python3.6/dist-package/
 
sudo rm -r vvcat_package*

根據(jù)以上兩條命令進行如下操作:
先查看模塊 安裝的目錄

?
1
2
# __file__ 用來查看模塊所在的目錄
vvcat_package.__file__

Pyhton模塊和包相關(guān)知識總結(jié)

通過 cd 命令 到 dist-packages 目錄下

Pyhton模塊和包相關(guān)知識總結(jié)

最后使用 sudo rm -r vvcat_package*命令便可以卸載掉 安裝的 vvcat_package模塊
以下是刪除后只剩下 vvcat_package-1.0.egg-info 文件

Pyhton模塊和包相關(guān)知識總結(jié)

當(dāng)再次使用 ipython3 調(diào)用該模塊時,會顯示沒有該模塊。

Pyhton模塊和包相關(guān)知識總結(jié)

八、pip 安裝第三方模塊

pip 是一個現(xiàn)代的,通用的 python 包管理工具提供了對 python 包的查找、下載、安裝、卸載等功能

安裝和卸載命令如下:

?
1
2
3
# 將模塊安裝到 python 3.x 環(huán)境
sudo pip3 install pygame
sudo pip3 uninstall pygame

在 mac 下安裝 ipython

?
1
sudo pip install ipython

在 linux 下安裝 ipython

?
1
sudo apt install ipython3

到此這篇關(guān)于pyhton模塊和包相關(guān)知識總結(jié)的文章就介紹到這了,更多相關(guān)pyhton模塊和包內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_44989881/article/details/116600149

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线 在线播放 | ffee性xxⅹ另类老妇hd | 九九99九九精彩 | 俄罗斯激情性孕妇孕交大全 | 色多多视频网站 | 欧美日韩精品免费一区二区三区 | 亚洲国产精品网 | 久九九精品免费视频 | 国产免费小视频在线观看 | 亚欧视频在线观看 | 五月最新女厕所高跟嘘嘘 | 亚洲 欧美 国产 综合首页 | yellow视频在线观看 | 男女全黄h全肉细节文 | 国产精品嫩草影院在线 | 国精品午夜dy8888狼人 | 拔插拔插成人 | 亚洲精品第五页中文字幕 | 欧美一区二区三区高清不卡tv | 91国在线观看| 天美视频在线 | 亚洲国产精品第一区二区三区 | 成人精品网 | 亚洲一区二区三区福利在线 | 国产v日韩v欧美v精品专区 | 皇上好大好硬好涨好深好爽 | 日本一区二区三区国产 | 亚洲天堂网站在线 | gogort99人体专业网站 | 2021国产麻豆剧传媒剧情 | 红色播放器 | 国产91视频网| 国产视频一区二区 | 热99精品| 美女奶口隐私免费视频网站 | 国产成人久久久精品一区二区三区 | 国产午夜亚洲精品不卡 | ccc在线在线36 | 天天快乐高清在线观看 | 国产欧美日韩精品高清二区综合区 | 免费看片黄色 |