主頁 > 知識庫 > Pyhton模塊和包相關知識總結

Pyhton模塊和包相關知識總結

熱門標簽:哈爾濱ai外呼系統(tǒng)定制 白銀外呼系統(tǒng) 海南400電話如何申請 激戰(zhàn)2地圖標注 陜西金融外呼系統(tǒng) 唐山智能外呼系統(tǒng)一般多少錢 騰訊外呼線路 公司電話機器人 廣告地圖標注app

一、模塊

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

1)import 導入

import 模塊名1,模塊名2

import 模塊名1
import 模塊名2

導入之后

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

使用 as 指定模塊的別名

import 模塊名1 as 模塊別名

注意:模塊別名應該 符合 大駝峰命名法

2)from…import 導入

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

導入之后

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

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

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

from…import * (不推薦使用)

# 從模塊 導入 所有工具
from 模塊名1 import *

二、模塊的搜索順序

Python 的解釋器在 導入模塊時,會:

1.搜索 當前目錄 指定模塊名的文件,如果有就直接導入

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

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

Python 中每一個模塊都有一個內置屬性 __file__ 可以查看模塊的 完整路徑

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

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

__name__屬性

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

示例:

# 導入模塊
# 定義全局變量
# 定義類
# 定義函數(shù)

# 在代碼的最下方
def main():
	# ...
	pass

# 根據(jù) __name__判斷是否執(zhí)行下方代碼
if __name__ == '__main__':
	main()

四、包

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

__init__.py

  • 要在外界使用 包 中的模塊,需要在 __init__.py 中指定 對外界提供的模塊列表
# 從 當前目錄 導入 模塊列表
from . import 模塊名
from . import 模塊名

例如:

五、發(fā)布模塊

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

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

setup.py 的文件

from distutils.core import setup

setup(name="vvcat_package",  # 包名
		version="1.0", # 版本
		description="用來測試",  # 描述信息
		long_description="用來測試如何發(fā)布壓縮包",  # 完整描述信息
		author="vvcat",  # 作者
		author_email="206647497@qq.com",  #作者郵箱
		url="https://blog.csdn.net/qq_44989881?t=1",  # 主頁
		py_modules=["vvcat_package.test1",  
					"vvcat_package.test2"])  # 包中的模塊

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

https://docs.python.org/2/distutils/apiref.html

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

2)構建模塊

python3 setup.py build

通過 tree命令可以看到當前目錄結構
如果沒有 tree 命令,可以通過以下操作,安裝

sudo apt-get install tree

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

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

python3 setup.py sdist


六、安裝模塊

tar -zxvf 包名-1.0.tar.gz

sudo python3 setup.py install

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

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

vvcat_package-1.0文件夾中的內容

使用 cat PKG-INFO命令可以查看到 PKG-INFO文件中的內容

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

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

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


七、卸載模塊

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

cd /usr/local/lib/python3.6/dist-package/

sudo rm -r vvcat_package*

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

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

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

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

當再次使用 ipython3 調用該模塊時,會顯示沒有該模塊。

八、pip 安裝第三方模塊

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

安裝和卸載命令如下:

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

在 Mac 下安裝 iPython

sudo pip install ipython

在 Linux 下安裝 iPython

sudo apt install ipython3

到此這篇關于Pyhton模塊和包相關知識總結的文章就介紹到這了,更多相關Pyhton模塊和包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 在python中實現(xiàn)導入一個需要傳參的模塊
  • python文件目錄操作之os模塊
  • Python使用scapy模塊發(fā)包收包
  • Python基礎之hashlib模塊詳解
  • Python collections模塊的使用技巧
  • Python使用random模塊實現(xiàn)擲骰子游戲的示例代碼
  • Python爬蟲基礎之requestes模塊
  • python常見模塊與用法
  • python中sys模塊的介紹與實例
  • Python中os模塊的簡單使用及重命名操作
  • python基于concurrent模塊實現(xiàn)多線程
  • python xlwt模塊的使用解析

標簽:益陽 四川 惠州 上海 黑龍江 黔西 常德 鷹潭

巨人網(wǎng)絡通訊聲明:本文標題《Pyhton模塊和包相關知識總結》,本文關鍵詞  Pyhton,模塊,和,包相關,包,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pyhton模塊和包相關知識總結》相關的同類信息!
  • 本頁收集關于Pyhton模塊和包相關知識總結的相關信息資訊供網(wǎng)民參考!
  • 推薦文章