22个常用Python包,相信你一定用的到!,真的已经讲烂了

我想,你们大多数人都知道并且很喜欢 pip,它是 Python 的包安装器。你可以用 pip 轻松地从 Python 包索引和其他索引(例如本地镜像或带有私有软件的自定义索引)来安装软件包。

有关 pip 的一些有趣事实:

  • pip是“Pip Installs Packages”的首字母递归缩写。

  • pip很容易使用。要安装一个包只需pip install <package name>即可,而删除包只需pip uninstall <package name>即可。

  • 最大优点之一是它可以获取包列表,通常以requirements.txt文件的形式获取。该文件能选择包含所需版本的详细规范。大多数 Python 项目都包含这样的文件。

  • 如果结合使用pipvirtualenv(列表中的 #57),就可以创建可预测的隔离环境,同时不会干扰底层系统,反之亦然。

5、Python-dateutil

下载次数:6.17 亿

python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python datetime缺少哪些功能,python-dateutil就能补足那一块。

你可以用这个库做很多很棒的事情。其中,我发现的一个特别有用的功能就是:模糊解析日志文件中的日期,例如:

1240uploading.4e448015.gif转存失败重新上传取消

6、Requests

下载次数:6.11 亿

Requests建立在我们的 #1 库——urllib3基础上。它让 Web 请求变得非常简单。相比urllib3来说,很多人更喜欢这个包。而且使用它的最终用户可能也比urllib3更多。后者更偏底层,并且考虑到它对内部的控制级别,它一般是作为其他项目的依赖项。

下面这个例子说明 requests 用起来有多简单:

7、S3transfer

这里把 #3、#7、#17 和 #22 放在一起介绍,因为它们的关系非常密切。

8、Certifi

下载次数:5.52 亿

近年来,几乎所有网站都转向 SSL,你可以通过地址栏中的小锁符号来识别它。加了小锁意味着与该站点的通信是安全和加密的,能防止窃听行为。

小锁告诉我们此网站已使用 SSL 保护

加密过程是基于 SSL 证书的,并且这些 SSL 证书由受信任的公司或非营利组织(如 LetsEncrypt)创建。这些组织使用他们的(中间)证书对这些证书进行数字签名。

你的浏览器使用这些证书的公开可用部分来验证这些签名,这样就能确保你正查看的是真实内容,并且没有人能窥探到通信数据。Python 软件也能做同样事情。这就是 certifi 的用途所在。它与 Chrome、Firefox 和 Edge 等网络浏览器随附的根证书集合没有太大区别。

Certifi是根证书的一个精选集合,有了它,你的 Python 代码就能验证 SSL 证书的可信度。

如此处所示,许多项目信任并依赖 certifi。这也是该项目排名如此之高的原因所在。

9、Idna

下载次数:5.27 亿

根据其 PyPI 页面,idna提供了“对 RFC5891 中指定的应用程序中国际化域名(IDNA)协议的支持。”

可能你像我一样也是一头雾水,不知道Idna是什么,有什么用!据悉,应用程序中的国际化域名(IDNA)是一种用来处理包含非 ASCII 字符的域名机制。但是,原始域名系统已经提供对基于非 ASCII 字符的域名支持。所以,哪有问题?

问题在于应用程序(例如电子邮件客户端和 Web 浏览器)不支持非 ASCII 字符。更具体地说,电子邮件和 HTTP 用的协议不支持这些字符。对许多国家来说,这没什么问题,但是像中国、俄罗斯、德国、希腊和印度尼西亚等国家,这是个问题。最后,来自这些地方的一群聪明人想到 IDNA。

IDNA的核心是两个函数:ToASCIIToUnicodeToASCII会将国际 Unicode 域转换为 ASCII 字符串。ToUnicode则逆转该过程。在IDNA包中,这些函数称为idna.encode()idna.decode(),如以下代码片段所示:

如果你是受虐狂,则可以阅读 RFC-3490 了解这一编码的详细信息。

10、PyYAML

下载次数:5.25 亿

YAML是一种数据序列化格式。它的设计宗旨是让人类和计算机都能很容易地阅读代码——人类很容易读写它的内容,计算机也可以解析它。

PyYAML是 Python 的YAML解析器和发射器,这意味着它可以读写YAML。它会把任何 Python 对象写成YAML:列表、字典,甚至是类实例都包括在内。

Python 提供了自己的配置解析器,但是与 Python 的ConfigParser的基本.ini文件结构相比,YAML 提供更多功能。

例如,YAML可以存储任何数据类型:布尔值、列表、浮点数等等。ConfigParser会将所有内容存储为内部字符串。如果要使用ConfigParser加载整数,则你需要指定自己要显式获取一个int

config.getint(“section”, “my_int”)

pyyaml能自动识别类型,所以这将使用PyYAML返回你的int

config[“section”][“my_int”]

YAML还允许任意的 deep trees,虽然不是每个项目都需要这种东西,但是需要时,它就可以派上用场。你可能有自己的偏好,但是许多项目都使用YAML作为配置文件,所以这个项目是很受欢迎的。

11、Pyasn1

下载次数:5.12 亿

像上面的IDNA一样,这个项目也非常有用:

ASN.1 类型和 DER/BER/CER 编码(X.208)的纯 Python 实现

所幸这个已有数十年历史的标准有很多信息可用。ASN.1是 Abstract Syntax Notation One 的缩写,它就像是数据序列化的教父。它来自电信行业。也许你知道协议缓冲区或 Apache Thrift?这就是它们的 1984 年版本。

ASN.1 描述了系统之间的跨平台接口,以及可以通过该接口发送的数据结构。

还记得 Certifi(请参阅 #8)吗?ASN.1 用于定义 HTTPS 协议和其他许多加密系统中使用的证书格式。它也用在了 SNMP、LDAP、Kerberos、UMTS、LTE 和 VOIP 协议中。

这是一个非常复杂的规范,并且某些实现已被证明满是漏洞。

一个建议,除非你真的需要,否则还是敬而远之吧。但由于它用在很多地方,因此许多包都依赖这个包。

12、Docutils

下载次数:5.08 亿

Docutils是一个模块化系统,用来将纯文本文档处理为很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能读取reStructuredText格式的纯文本文档,这种格式是类似于 MarkDown 的易读标记语法。

你可能听说过,甚至读过 PEP 文档。

那么什么是 PEP 文档?最早的 PEP 文档,PEP-1 为我们提供很好的解释:

PEP 的意思是 Python 增强提案。一个 PEP 就是一个设计文档,用来向 Python 社区提供信息,或描述 Python 或其过程或环境的新功能。PEP 应该提供该功能的简明技术规范以及功能的原理。

PEP 文档使用固定的reStructuredText模板编写,并使用docutils转换为格式正确的文档。

Docutils 也是Sphinx的核心。Sphinx用于创建文档项目。如果Docutils是一台机器,则Sphinx就是工厂。它最初是为了构建 Python 文档而创建的,但其他许多项目也使用它为代码提供文档。你可能已经读过 readthedocs.org 上的文档,那里的大多数文档都是由Sphinxdocutils创建的。

13、Chardet

下载次数:5.01 亿

你可以用chardet模块来检测文件或数据流的字符集。比如说,需要分析大量随机文本时,这会很有用。但你也可以在处理远程下载的数据,但不知道用的是什么字符集时使用它。

安装chardet后,你还有一个名为chardetect的命令行工具,用法如下:

chardetect somefile.txt

somefile.txt: ascii with confidence 1.0

你还能通过编程方式使用这个库,具体参阅文档。Chardetrequests等许多包的需求。我觉得没有多少人会单独使用chardet,所以它这么流行肯定是因为这些依赖项。

14、RSA

下载次数:4.92 亿

rsa包是一个纯 Python 的 RSA 实现。它支持:

  • 加密和解密

  • 签名和验证签名

  • 根据 PKCS#1 1.5 版生成密钥

它既可以用作 Python 库,也能在命令行中使用。

一些事实:

  • RSA 是 RonRivest、Adi Shamir 和 Leonard Adleman 三人姓的首字母。他们在 1977 年发明该算法。

  • RSA 是最早的公钥密码系统之一,被广泛用于安全数据传输。在这样的密码系统中,有两个密钥:公共部分和私有部分。你用公钥加密数据,只能用私钥解密数据。

  • RSA 是一种 slow algorithm。它很少用于直接加密用户数据。通常,RSA 用于安全传递对称密钥加密的共享密钥,这样加密和解密大量数据时会快得多。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

onvert/6c361282296f86381401c05e862fe4e9.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
[外链图片转存中…(img-Iug5fLQD-1711611093434)]

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在数学建模竞赛中,Python经常使用很多来处理数据分析、模型建立和可视化等方面的任务。以下是一些常用Python: 1. NumPy:提供了array对象,用于高效地存储和操作大型多维数组和矩阵。在数学建模中,可以用NumPy进行数值计算和线性代数运算。 2. Matplotlib:常用的绘图库,可以用来生成各种类型的二维图表、直方图、散点图等。在数学建模中,Matplotlib可以用来可视化数据、模型结果等。 3. Pandas:提供了用于数据分析的数据结构和操作工具。Pandas的DataFrame对象广泛应用于数据处理和数据清洗的场景。 4. SciPy:用于科学计算的开源库,提供了很多常用的数学、科学和工程计算功能。括插值、积分、优化、线性代数和统计等算法。 5. SymPy:用于符号计算的库,可以进行代数符号计算、解方程、微积分和概率等数学运算。在数学建模中,可以用SymPy进行符号推导和数学推理。 6. Scikit-learn:用于机器学习和数据挖掘的库,提供了很多常用的机器学习算法和工具。能够快速构建、训练和评估模型。 7. NetworkX:用于复杂网络分析和建模的库,可以进行图论分析、查找路径、计算中心性等。 除了上述常用之外,还有其他一些特定领域的,例如TensorFlow、Keras等,用于深度学习和神经网络建模;CVXOPT、PuLP等,用于优化问题求解等等。不同的问题和需求可能会使用不同的,根据具体的建模任务来选择合适的进行使用。 ### 回答2: 在美赛(美国大学生数学建模竞赛)中,Python是一种常见的编程语言,并且有许多常用可以提供各种功能和工具来辅助建模过程。下面是一些常用Python: 1. NumPy:NumPy是Python常用的数值计算。它提供了用于数组和矩阵运算的高效数据结构和函数。在美赛中,我们经常需要进行大量的数值计算和线性代数运算,NumPy提供了许多方便的函数和方法来处理这些任务。 2. Matplotlib:Matplotlib是一个用于制作各种类型图表(如线图,散点图,饼图等)的绘图库。在美赛中,我们通常需要对模型的结果进行可视化,并利用图表来分析数据和展示结果。Matplotlib提供了丰富的绘图功能和灵活的参数设置,使得我们能够根据需求制作出各种精美的图表。 3. Pandas:Pandas是一个用于数据处理和分析的库。它提供了高效且方便的数据结构和数据操作方法,能够轻松处理各种类型的数据集。在美赛中,我们常常需要对大量的数据进行预处理、清洗和转换,Pandas能够很好地满足这些需求,提高数据分析的效率。 4. SciPy:SciPy是一个用于科学计算的库,含了许多常用的数值计算和优化算法,例如线性规划、非线性方程求解、插值等。在美赛中,我们经常需要利用这些算法来解决各种数学建模问题,SciPy提供了相应的函数和方法来支持这些计算。 总结起来,这些常用Python(NumPy、Matplotlib、Pandas和SciPy)能够提供丰富的功能和工具,帮助我们在美赛中进行数据处理、数学计算、结果可视化等各种建模任务。它们使得我们能够更高效地解决问题,提高建模的准确性和可靠性。 ### 回答3: 在美赛中,Python是一种常见的编程语言,并且有许多常用可以帮助我们进行数据分析和建模。以下是一些常用Python: 1. NumPy:NumPy是Python科学计算的基本软件。它提供了高效的多维数组对象和用于处理这些数组的工具。在美赛中,我们可以使用NumPy来进行数值计算、线性代数、傅里叶变换等。 2. Pandas:Pandas是一个强大的数据分析工具,提供了快速、灵活、简单的数据结构,如Series(一维数据)和DataFrame(二维数据)。Pandas可以帮助我们加载、处理和分析数据,进行数据清洗、筛选、转换等操作。 3. Matplotlib:Matplotlib是一个用于绘制各种类型图表的数据可视化工具。在美赛中,我们可以使用Matplotlib来生成折线图、散点图、柱状图等,并进行自定义设置来展示数据。 4. Scipy:Scipy是一个集成了数学、科学和工程计算功能的Python软件库。它提供了许多各种各样的数值算法和函数,如优化、插值、统计分析等。 5. Sklearn:Sklearn是一个常用的机器学习库,提供了丰富的机器学习算法和工具。在美赛中,我们可以使用Sklearn来构建和训练各种机器学习模型,如支持向量机、决策树、随机森林等。 6. Networkx:Networkx是一个用于处理复杂网络Python库。它可以用于构建、分析和可视化各种网络结构,如社交网络、交通网络等。 以上是一些在美赛中常用Python,它们提供了一系列强大的功能和工具,能够帮助我们更高效地处理和分析数据,完成各种任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值