python库、包、模块概念辨析

Python020

python库、包、模块概念辨析,第1张

划重点: 这三个概念(库、包、模块)实际上都是模块,只不过是个体和集合的区别。

模块

一个模块就是一个.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块(.py文件)。

模块方式:

1、from 模块名 import 函数名

2、import 模块名

可以使用as 为模块或函数起一个别名

在模块之上的概念,为了方便管理而将 .py文件 进行打包。包目录下第一个文件便是 init .py(特点),然后是一些模块文件和子目录等。

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

第三方库:就是由其他的第三方机构,发布的具有特定功能的模块。

自定义模块:用户自己可以自行编写模块,然后使用。

这三个概念(库、包、模块)实际上都是模块,只不过是个体和集合的区别

链接:https://www.jianshu.com/p/94c3a55ecdf9

1、Pandas:是一个Python包,旨在通过“标记”和“关系”数据进行工作,简单直观。它设计用于快速简单的数据操作、聚合和可视化,是数据整理的完美工具。

2、Numpy:是专门为Python中科学计算而设计的软件集合,它为Python中的n维数组和矩阵的操作提供了大量有用的功能。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。

3、SciPy:是一个工程和科学软件库,包含线性代数,优化,集成和统计的模块。SciPy库的主要功能是建立在NumPy上,通过其特定子模块提供有效的数值例程,并作为数字积分、优化和其他例程。

4、Matplotlib:为轻松生成简单而强大的可视化而量身定制,它使Python成为像MatLab或Mathematica这样的科学工具的竞争对手。

5、Seaborn:主要关注统计模型的可视化(包括热图),Seaborn高度依赖于Matplotlib。

6、Bokeh:独立于Matplotlib,主要焦点是交互性,它通过现代浏览器以数据驱动文档的风格呈现。

7、Plotly:是一个基于Web用于构建可视化的工具箱,提供API给一些编程语言(Python在内)。

8、Scikits:是Scikits

Stack额外的软件包,专为像图像处理和机器学习辅助等特定功能而设计。它建立在SciPy之上,中集成了有质量的代码和良好的文档、简单易用并且十分高效,是使用Python进行机器学习的实际行业标准。

9、Theano:是一个Python软件包,它定义了与NumPy类似的多维数组,以及数学运算和表达式。此库是被编译的,可实现在所有架构上的高效运行。

10、TensorFlow:是数据流图计算的开源库,旨在满足谷歌对训练神经网络的高需求,并且是基于神经网络的机器学习系统DistBelief的继任者,可以在大型数据集上快速训练神经网络。

11、Keras:是一个用Python编写的开源的库,用于在高层的接口上构建神经网络。它简单易懂,具有高级可扩展性。

12、NLTK:主要用于符号学和统计学自然语言处理(NLP) 的常见任务,旨在促进NLP及相关领域(语言学,认知科学人工智能等)的教学和研究。

13、Gensim:是一个用于Python的开源库,为有向量空间模型和主题模型的工作提供了使用工具。这个库是为了高效处理大量文本而设计,不仅可以进行内存处理,还可以通过广泛使用NumPy数据结构和SciPy操作来获得更高的效率。

10个顶级且实用的python库

1、Dash

Dash是比较新的软件包,它是用纯python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask、Plotly.js和React.js的混合体。

2、Pygame

Pygame是SDL多媒体库的python装饰器,SDL是一个跨平台开发库,旨在提供对以下内容的低级接口:音频、键盘、鼠标、游戏杆、基于OpenGL和Direct3D的图形硬件。

Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从python脚本播放MP3文件。

3、Pillow

Pillow专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换、旋转、应用滤镜、显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。

4、Colorama

Colorama允许你在终端使用颜色,非常适合python脚本,文档简短而有趣,可以在Colorama PyPi页面上找到。

5、JmesPath

在python中使用JSON非常容易,因为JSON在python字典上的映射非常好。此外,python带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一,如果我需要使用JSON,可以考虑使用python。

JmesPath使python处理JSON更加容易,它允许您明确地指定如何从JSON文档中提取元素。

6、Requests

Requests建立在世界上下载量最大的python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。

Requests可以完成您能想到的所有高级工作,比如:认证,使用cookie,执行POST、PUT、DELETE等,使用自定义证书,使用会话Session、使用代理等。

7、Simplejson

python中的本地json模块有什么问题?没有!实际上,python的json是Simplejson。意思是:python采用了Simplejson的一个版本,并将其合并到每个发行版中,但是使用Simplejson具有一些优点:它适用于更多python版本、它比python随附的版本更新频率更高、它具有用C编写的部分,因此非常快速。

8、Emoji

Emoji库非常意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。

9、Python-dateutil

Python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是:常规的python日期时间功能在哪里结束,而Python-dateutil就出现了。

10、BeautifulSoup

如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。BeautifulSoup是一个python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML,这是一个非常强大的功能。

它的一些主要功能:

①BeautifulSoup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8,您无需考虑编码。

②BeautifulSoup位于流行的python解析器的顶部,使您可以尝试不同的解析策略或提高灵活性。