导航:首页 > 编程语言 > python模块包中

python模块包中

发布时间:2022-12-14 08:27:56

python中包的理解与运用

6.4. 包
包通常是使用用“圆点模块名”的结构化模块命名空间。例如,名为 A.B 的模块表示了名为 A 的包中名为 B 的子模块。正如同用模块来保存不同的模块架构可以避免全局变量之间的相互冲突,使用圆点模块名保存像 NumPy 或 Python Imaging Library 之类的不同类库架构可以避免模块之间的命名冲突。
假设你现在想要设计一个模块集(一个“包”)来统一处理声音文件和声音数据。存在几种不同的声音格式(通常由它们的扩展名来标识,例如:.wav, .aiff,.au ),于是,为了在不同类型的文件格式之间转换,你需要维护一个不断增长的包集合。可能你还想要对声音数据做很多不同的操作(例如混音,添加回声,应用平衡 功能,创建一个人造效果),所以你要加入一个无限流模块来执行这些操作。你的包可能会是这个样子(通过分级的文件体系来进行分组)
当导入这个包时,Python 通过 sys.path 搜索路径查找包含这个包的子目录。
为了让 Python 将目录当作内容包,目录中必须包含 __init__.py 文件。这是为了避免一个含有烂俗名字的目录无意中隐藏了稍后在模块搜索路径中出现的有效模块,比如 string。最简单的情况下,只需要一个空的 __init__.py 文件即可。当然它也可以执行包的初始化代码,或者定义稍后介绍的 __all__ 变量。
用户可以每次只导入包里的特定模块,例如:
import sound.effects.echo
这样就导入了 sound.effects.echo 子模块。它必需通过完整的名称来引用:
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
导入包时有一个可以选择的方式:
from sound.effects import echo
这样就加载了 echo 子模块,并且使得它在没有包前缀的情况下也可以使用,所以它可以如下方式调用:
echo.echofilter(input, output, delay=0.7, atten=4)
还有另一种变体用于直接导入函数或变量:
from sound.effects.echo import echofilter
这样就又一次加载了 echo 子模块,但这样就可以直接调用它的 echofilter() 函数:
echofilter(input, output, delay=0.7, atten=4)
需要注意的是使用 from package import item 方式导入包时,这个子项(item)既可以是包中的一个子模块(或一个子包),也可以是包中定义的其它命名,像函数、类或变量。import 语句首先核对是否包中有这个子项,如果没有,它假定这是一个模块,并尝试加载它。如果没有找到它,会引发一个 ImportError 异常。

⑵ python中的模块,库,包有什么区别

1.python模块是:

python模块:包含并且有组织的代码片段为模块。

表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。

关系图:

3.库(library)

库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

⑶ 盘点Python常用的模块和包

模块

1.定义

计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块。

2.优点:

提高代码的可维护性。

提高代码的复用,当模块完成时就可以在其他代码中调用。

引用其他模块,包含python内置模块和其他第三方模块。

避免函数名和变量名等名称冲突。

python内建模块:

1.sys模块

2.random模块

3.os模块:

os.path:讲解

https://www.cnblogs.com/yufeihlf/p/6179547.html

数据可视化

1.matplotlib :

是Python可视化程序库的泰斗,它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。

访问:

https://matplotlib.org/

颜色:

https://www.cnblogs.com/darkknightzh/p/6117528.html

教程:

https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html

2.Seaborn:

它是构建在matplotlib的基础上的,用简洁的代码来制作好看的图表。Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。

访问:

http://seaborn.pydata.org/index.html

3.ggplot:

gplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图

访问:

http://ggplot.yhathq.com/

4.Mayavi:

Mayavi2完全用Python编写,因此它不但是一个方便实用的可视化软件,而且可以方便地用Python编写扩展,嵌入到用户编写的Python程序中,或者直接使用其面向脚本的API:mlab快速绘制三维图

访问:http://code.enthought.com/pages/mayavi-project.html

讲解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8

5.TVTK:

TVTK库对标准的VTK库进行包装,提供了Python风格的API、支持Trait属性和numpy的多维数组。

VTK (http://www.vtk.org/) 是一套三维的数据可视化工具,它由C++编写,包涵了近千个类帮助我们处理和显示数据

讲解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html

机器学习

1.Scikit-learn

是一个简单且高效的数据挖掘和数据分析工具,易上手,可以在多个上下文中重复使用。它基于NumPy, SciPy 和 matplotlib,开源,可商用(基于 BSD 许可)。

访问:

讲解:https://blog.csdn.net/finafily0526/article/details/79318401

2.Tensorflow

最初由谷歌机器智能科研组织中的谷歌大脑团队(Google Brain Team)的研究人员和工程师开发。该系统设计的初衷是为了便于机器学习研究,能够更快更好地将科研原型转化为生产项目。

相关推荐:《Python视频教程》

Web框架

1.Tornado

访问:http://www.tornadoweb.org/en/stable/

2.Flask

访问:http://flask.pocoo.org/

3.Web.py

访问:http://webpy.org/

4.django

https://www.djangoproject.com/

5.cherrypy

http://cherrypy.org/

6.jinjs

http://docs.jinkan.org/docs/jinja2/

GUI 图形界面

1.Tkinter

https://wiki.python.org/moin/TkInter/

2.wxPython

https://www.wxpython.org/

3.PyGTK

http://www.pygtk.org/

4.PyQt

https://sourceforge.net/projects/pyqt/

5.PySide

http://wiki.qt.io/Category:LanguageBindings::PySide

科学计算

教程

https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#

1.numpy

访问

http://www.numpy.org/

讲解

https://blog.csdn.net/lm_is_dc/article/details/81098805

2.sympy

sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题

访问

https://docs.sympy.org/0.7.1/guide.html#guide

讲解

https://www.jianshu.com/p/339c91ae9f41

解方程

https://www.cnblogs.com/zyg123/p/10549354.html

3.SciPy

官网

https://www.scipy.org/

讲解

https://blog.csdn.net/wsp_1138886114/article/details/80444621

4.pandas

官网

http://pandas.pydata.org/

讲解

https://www.cnblogs.com/linux-wangkun/p/5903945.html

5.blaze

官网

http://blaze.readthedocs.io/en/latest/index.html

密码学

1.cryptography

https://pypi.python.org/pypi/cryptography/

2.hashids

http://www.oschina.net/p/hashids

3.Paramiko

http://www.paramiko.org/

4.Passlib

https://pythonhosted.org/passlib/

5.PyCrypto

https://pypi.python.org/pypi/pycrypto

6.PyNacl

http://pynacl.readthedocs.io/en/latest/

爬虫相关

requests

http://www.python-requests.org/

scrapy

https://scrapy.org/

pyspider

https://github.com/binux/pyspider

portia

https://github.com/scrapinghub/portia

html2text

https://github.com/Alir3z4/html2text

BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/

lxml

http://lxml.de/

selenium

http://docs.seleniumhq.org/

mechanize

https://pypi.python.org/pypi/mechanize

PyQuery

https://pypi.python.org/pypi/pyquery/

creepy

https://pypi.python.org/pypi/creepy

gevent

一个高并发的网络性能库

http://www.gevent.org/

图像处理

bigmoyan

http://scikit-image.org/

Python Imaging Library(PIL)

http://www.pythonware.com/procts/pil/

pillow:

http://pillow.readthedocs.io/en/latest/

自然语言处理

1.nltk:

http://www.nltk.org/

教程

https://blog.csdn.net/wizardforcel/article/details/79274443

2.snownlp

https://github.com/isnowfy/snownlp

3.Pattern

https://github.com/clips/pattern

4.TextBlob

http://textblob.readthedocs.io/en/dev/

5.Polyglot

https://pypi.python.org/pypi/polyglot

6.jieba:

https://github.com/fxsjy/jieba

数据库驱动

mysql-python

https://sourceforge.net/projects/mysql-python/

PyMySQL

https://github.com/PyMySQL/PyMySQL

PyMongo

https://docs.mongodb.com/ecosystem/drivers/python/

pymongo

MongoDB库

访问:https://pypi.python.org/pypi/pymongo/

redis

Redis库

访问:https://pypi.python.org/pypi/redis/

cxOracle

Oracle库

访问:https://pypi.python.org/pypi/cx_Oracle

SQLAlchemy

SQL工具包及对象关系映射(ORM)工具

访问:http://www.sqlalchemy.org/

peewee,

SQL工具包及对象关系映射(ORM)工具

访问:https://pypi.python.org/pypi/peewee

torndb

Tornado原装DB

访问:https://github.com/bdarnell/torndb

Web

pycurl

URL处理工具

smtplib模块

发送电子邮件

其他库暂未分类

1.PyInstaller:

是一个十分有用的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。

2.Ipython

一种交互式计算和开发环境

讲解

https://www.cnblogs.com/zzhzhao/p/5295476.html

命令

ls、cd 、run、edit、clear、exist

阅读全文

与python模块包中相关的资料

热点内容
汇编程序员待遇 浏览:357
怎么批量有顺序的命名文件夹 浏览:209
杭州程序员健身 浏览:17
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362