千万别说你会Python 如果不知道这10个Python包

91 篇文章 0 订阅
91 篇文章 0 订阅

世界上有超过200,000个Python程序包(这只是基于官方的Python程序包索引PyPI托管的程序包)。

这就引出了一个问题:拥有这么多的软件包,每个Python程序员都需要学习哪些软件包是最重要的?

为了帮助回答这个问题,下面列出了您应该熟悉的十个最重要,最有用和最普遍使用的Python程序包,因为在您从事各种项目时,它们经常会出现。

此列表重点关注涵盖多种编程场景和目标的Python软件包,而不是仅关注特定领域,例如数据科学或Web开发。这10个里面,你用过几个?请在评论区留言。

1. Numpy

您可以执行基本的数学运算,而无需任何特殊的Python包。但是,如果您要进行任何复杂的数学运算,则NumPy软件包将使您的编码工作变得更加轻松。

NumPy提供了一些工具来帮助构建多维数组,并对存储在其中的数据进行计算。您可以求解代数公式,执行常见的统计运算等等。

尽管NumPy是一个有价值的Python软件包,可用于执行各种通用编程任务,但如果您想进行机器学习,则NumPy尤为重要,因为它为TensorFlow之类的库提供了部分基础。

2. Pendulum

如果您至少有一点Python编程经验,则可能知道可以使用datetime模块来管理应用程序中的日期和时间。

尽管datetime非常适合这些方面的基础工作,但Pendulum Python软件包使执行涉及日期和时间的更复杂的编码变得更加容易。使用起来更加直观,并且可以自动管理时区。

最棒的是,Pendulum旨在替代datetime。这意味着您可以将其与已经基于datetime编写的代码一起使用。除了少数几个例外,Pendulum同样可以工作,无需修改代码,同时提供普通datetime所没有的其他功能。

3. Python 图片处理包

如果您的Python应用程序以任何方式与图像进行交互,则Python映像库(也称为PIL或Pillow)是Python必需的。它使编写以各种格式打开,修改和保存图像的代码变得容易。

如果您要对图像进行更高级的处理(例如图像识别,在这种情况下,OpenCV将是一个不错的选择),Pillow不会自行裁切的。但是对于基本的图像导入,处理和导出,Pillow是您的首选解决方案。

4. MoviePy

MoviePy代表视频,Pillow代表图像。它为与导入,修改和导出视频文件相关的常见任务提供了一系列功能。它还可以让您执行一些操作,例如将标题插入视频或将视频旋转90度(如果出于某种原因您决定这样做)。

像Pillow一样,MoviePy也不能用作高级数据操作的工具。如果您正在编写视频编辑应用程序,则可能还需要依靠OpenCV(它可以同时处理视频和图像)来提供MoviePy缺少的高级功能。但是对于涉及Python代码视频的大多数标准任务,MoviePy可以很好地完成工作。

5. requests

编写发送HTTP请求的代码可能很棘手,这在很大程度上要归因于HTTP并未以人类易于阅读的方式精确地格式化数据。

Requests Python程序包(座右铭:“ HTTP for Humans”)通过自动执行许多繁琐的任务来解决此问题,让发送HTTP请求变得异常简单。它消除了添加查询字符串或执行POST表单编码的需要。它还可以使与HTTP服务器的连接自动保持活动状态,从而无需编写大量代码。

简而言之,如果您的应用程序通过HTTP发送任何数据,则请求是必不可少的程序包。

6. Tkinter

是否要开发具有图形用户界面(GUI)的Python应用程序?

有很多做图形界面的Python包(实际上,我们都可以来个Python GUI前十排行榜)。但是我认为大多数Python开发人员都会同意Tkinter是用于创建GUI的最重要且也是最常用的框架。它将Python绑定到TK GUI工具箱,该工具箱几乎可在所有现代操作系统上运行。

除非您强烈希望使用其他GUI工具包,否则Tkinter可能是创建Python GUI的最佳起点。

7. PyQt

尽管前面大力推荐Tkinter,PyQT(另一个用于构建GUI的Python软件包)也是一个有力的竞争者。它提供了到Qt工具箱的绑定(您猜对了),该工具箱也是跨平台的。它比Tkinter用于重型GUI编程。这意味着如果您要构建具有非常简单的界面的应用程序(例如,只有带有一些按钮和文本字段的窗口),使用Tkinter就对了。但如果要构建一个很复杂的桌面程序,比如开发一个QQ程序,则PyQT会更适合。

image

Qt Designer Python

8. Pandas

有大量的Python软件包设计用于处理复杂的数据集。但是可以说,Pandas是最重要的。Pandas可以帮助您处理和分析大量数据,而无需学习专门的数据处理语言(例如R)。

Pandas有其局限性,因为它不适合用于高级统计建模(在这种情况下,您可能想学习R或使用statsmodels之类的Python包)。但是,如果您需要执行诸如处理时间序列数据或对数据集进行统计分析之类的工作,Pandas可以为您服务。

9. Pywin32

特别是对于Windows Python编程,Pywin32是必备软件包。它提供对许多本机Windows API函数的访问,使您可以执行诸如与Windows注册表进行交互,使用Windows剪贴板等操作。

如果您要构建跨平台的Python应用程序,那么Pywin32并不能为您带来很多好处,但是Windows开发人员可能会发现他们非常喜欢它,以至于使用它代替了本机Windows工具。

10. Pytest

如果您有一个复杂的Python开发项目,那么对新代码执行测试就至关重要。Pytest软件包提供了各种模块来帮助您完成此任务。无论是简单的单元测试还是更复杂的功能测试,Pytest都可以帮助您编写它。

如果您最喜欢的Python库或框架未在前十个必备Python软件包中列出此列表,请不要冒犯。Python生态系统已经生成了许多有价值的软件包,以至于即使在前100名列表中,也不可能包括所有重要软件包,更不用说前10名列表了。但是,对于通用Python编程,上述软件包基本是必备。

我又来求赞了

你动动手,就是对我最大的鼓励。如果对你有帮助,请给我点赞,点在看

image

求点赞
python福利教程领取方式:
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【19】
(一定要私信哦~点击我的头像就能看到私信按钮了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值