有多少个 Python 包
现存的Python包总数超过了 20万个 (这个数字只包括存储在PyPI上的包,即官方的Python包索引)。Python软件包为解决各种领域的挑战性问题提供了友好而有效的解决方案,包括科学计算、数据可视化、数据建模等等。
复杂的事情最好是零散地完成,一次一个子任务。为了完成任务,程序员建立并使用模块,这是保存在独立文件中的相关代码的集合。
下面列出了一些最重要的Python软件包。
1.NumPy
没有任何专门的Python包,我们可以进行基本的数学运算。然而,如果我们需要执行任何一种困难的数学运算,NumPy模块将使我们作为程序员的生活变得更加轻松。
NumPy中的工具可以帮助我们创建多维数组并对其中的数据进行计算。我们可以完成常见的统计程序,解决代数方程,以及更多。
尽管NumPy是一个对许多通用编程活动有用的Python包,但如果我们想进行机器学习,它尤其重要,因为它构成了TensorFlow等库的一部分框架。
我们可以使用NumPy来进行。
- 当代数组操作(例如,加法、乘法、切片、重塑、索引)。
- 涵盖的数学操作。
- 随机生成数字。
- 线性代数的程序。
- 例如,傅里叶变换
通过NumPy,我们可以使用可理解的Python语法和可执行代码的计算能力。这就说明了为什么NumPy被如此庞大的Python库和包的生态系统所使用。这包括几个著名的软件包,包括pandas、Seaborn、SciPy、OpenCV和其他许多软件包。
2.Pendulum
一个很受欢迎的用于简单日期时间操作的Python日期时间库是pendulum。它提供了一个更加精简和用户友好的API。它使包括时区在内的复杂的日期操作问题变得更容易管理,而这些问题在原生的日期时间实例中是无法正确处理的。
如果用户现在做过任何Python编程,我们无疑已经知道了如何利用datetime模块来控制应用程序中的日期和时间。
Datetime对于这种基本工作来说是非常好的,而Pendulum Python模块则有利于更复杂的日期和时间相关的脚本。它能自动管理时区,而且更方便用户使用。
最重要的是,Pendulum可以很容易地取代datetime的位置。这意味着我们可以将它用于我们已经创建的基于日期和时间的程序。除了一些小的例外,不需要修改代码,Pendulum将继续正常运行,同时提供传统的datetime所没有的额外功能。它是由普通的datetime库演变而来,但却提供了更优越的功能。因此,我们可以将Pendulums Datetime实例添加到已经使用了开发的datetime类的项目中。
3.Pandas
如果我们要处理表格、时间序列或矩阵数据,Pandas是首选的Python库。它被认为是一个快速、有效和用户友好的数据分析和修改工具。数据框架是一种独特的二维数据结构,它与数据框架元素一起工作。像Excel电子表格或数据库表格一样,数据框架包含行和列。
Pandas可以被利用来达到各种目的,例如:。
- 在SQL数据库、Excel和CSV文件之间传输和读取数据。
- 改变和旋转数据集。
- 对数据集进行切分、索引和子集。
- 结合和改变数据。
- 数据集的连接和合并。
Pandas是最流行的Python开源库的名字,用于数据科学、数据处理和机器学习任务。它建立在独立包NumPy之上,NumPy可以实现多维数组。最受欢迎的数据处理工具之一是Pandas,它通常在所有Python发行版中提供。它与各种不同的数据科学模块配合得很好。
Pandas是基于两个基本的Python库。NumPy用于算术计算,Matplotlib用于数据显示。由于Pandas充当了所有这些库的封装器,matplotlib和NumPy中的许多方法都更容易使用。例如,Pandas中的.plot()函数将几个matplotlib函数合并为一个方法,允许开发者用少量代码绘制图表。
3.Matplotlib
最流行的数据探索和可视化库是Matplotlib。它可以用来创建简单的图形,如线性图、柱状图、散点图、条形图和饼状图。在这个库的帮助下,你还可以制作动画和互动的可视化。Matplotlib是所有其他可视化库的基础。
当涉及到格式化和装饰图时,该库提供了很多通用性。标签、网格、图例和其他显示选项都是由你决定的。然而,我们需要写大量的代码来制作复杂的、视觉上漂亮的图。
4.MoviePy
MoviePy对于电影来说就像Pillow对于照片一样。对于涉及视频文件的常见导入、编辑和导出程序,它提供了若干功能。此外,它使我们能够为视频添加标题并将其旋转90°(如果出于某种原因我们决定要这样做的话)。
像Pillow一样,MoviePy的目的不是作为一个复杂的数据处理工具来运作。如果我们要创建一个视频编辑应用程序,我们可能还需要依靠OpenCV(它同时支持视频和照片)来添加MoviePy所缺乏的复杂功能。然而,MoviePy在处理大多数与视频相关的普通Python编程任务方面做得很好。
5.Requests
编写发送Http的代码可能很困难,这在很大程度上是因为HTTP并不完全以人们可以直接解释的方式格式化数据。
Requests Python模块(座右铭:”HTTP for Humans”)解决了这个问题,它自动完成了几个耗时的步骤,而这些步骤通常是你从任何应用程序提交HTTP请求时必须执行的。它消除了对POST表单编码或查询字符串的要求。此外,它还自动维护与HTTP服务器的连接,这样做不需要编写大量的代码。
简单地说,Requests是任何通过HTTP传输数据的应用程序必须具备的软件包。
这个模块的目的是提高Python HTTP请求的响应速度和可用性。我们可以通过使用 Requests 提供的简单的 JSON 技术来避免手动向 URL 添加查询字符串。
我们可以使用 Requests 修改、检查、批准和配置 HTTP 请求。
- 应该添加头文件、多部分文件和参数。
- 自动解压数据
- 在上传时,同时进行
6.PyQt
尽管前面说过,PyQT–另一个用于创建GUI的Python库,是一个严重的挑战者。它提供了与(你猜对了)Qt工具箱的跨平台绑定。与Tkinter相比,它是为要求更高的GUI编程而设计的。这意味着,如果你正在开发一个具有直接用户体验的应用程序,PyQT可能是多余的。
7.Pillow
如果我们对图片数据进行处理。它是Python图像库(PIL)的一个克隆,已经发展成为在Python中操作图像的一个用户友好的有效工具。
Pillow使我们能够
- 打开并存储各种文件类型的图片(JPEG、PNG、GIF、PDF等)。
- 创建图片缩略图。
- 利用各种图片过滤器(如SMOOTH、BLUR、SHARPEN)。
- 这个修改图片的应用程序对新手来说是非常好的,并提供了体面的图像处理能力。
8.PyTest
这个软件包提供了广泛的模块用于尝试新的代码,包括库和应用程序的简单功能测试以及大型单元测试。
在程序员中最受欢迎的Python软件包之一是pytest,因为它的语法简单明了,功能广泛。这个测试自动化的框架提供。
- 支持内置的测试发现功能。
- 模块化的测试设置夹具(例如,设置数据库连接、URL、输入数据)。
- (315+外部插件) 丰富的插件架构。
- 内部单元测试。
如果我们有一个任何复杂的Python开发项目,能够测试新代码是至关重要的。你可以借助于Pytest软件包提供的一些模块来实现这一目标。Pytest可以帮助用户编写,无论是简单的单元测试还是更复杂的功能测试。
9.Pywin32
Pywin32 是一个必要的软件包,特别是对于 Windows Python 开发来说。我们可以与 Windows 注册表交互,只是使用 Windows 剪贴板,以及其他许多事情,这要归功于它对许多本地 Windows API 的调用。
构建一个跨平台的Python应用程序不会从Pywin32中受益太多,但Windows开发者可能会发现他们更喜欢它而不是本地Windows工具。