对于Python编程者最有用和最常见的模块

开发 后端
在本文中,我将与您分享一些我认为每个python开发人员都应该熟悉的python模块。我将把这些模块分为四个不同的类别,方便大家查阅。

你是否曾经被大量的python模块压垮过?你是否曾经在为一个特定的项目挑选一个时陷入困境?在本文中,我将与您分享一些我认为每个python开发人员都应该熟悉的python模块。我将把这些模块分为四个不同的类别,方便大家查阅。

Web开发

我想讨论的第一类模块是在HTTP请求中处理web开发的模块。Python主要用于后端web开发,因此您可以假定有许多不同的模块可用来使用Python创建企业级网站。

(1) Requests

Python内置模块(urllib和urllib2)用于处理HTTP相关的操作。这两个模块都具有不同的功能集,很多时候需要一起使用它们。使用urllib的主要缺点是它令人困惑,因为在urllib和urllib2中只有很少的方法可用。另一个缺点是文档不是很清楚,即使是一个简单的HTTP请求,我们也需要编写大量代码。为了使这些事情更简单,大多数开发人员更喜欢使用request作为第三方模块。它是一个Apache2许可的HTTP库,由urllib3和httplib支持。

(2) Django

Django与其说是一个模块,不如说是一个高级Python Web框架,但是你仍然需要下载并安装它。它解决了从头构建web应用程序的压力。该框架的主要优点是开发速度快、设计实用、速度快、可扩展性强。你也可以用它来使用其他语言。您可以将它与其他框架连接起来,并且它附带了许多工具和复杂的开发特性,使您能够制作良好的企业级网站。

(3) Flask

Flask也是一个经常与Django竞争的web框架。选择哪一个用于web应用程序完全取决于要构建的项目。Flask的设置要容易得多,也快得多,而且它没有Django自带的所有工具。Django最适合具有大量特性的应用程序,比如身份验证。Flask可以用于基本的简单的web应用程序。

(4) BeautifulSoup

Beautiful soup是一个抓取web的好模块。因此,如果您正在进行web抓取,beautiful soup可以为您完成这一任务。它提供了一些简单的方法和python的习惯用法,用于导航、搜索和修改解析树。它还将传入的文档转换为Unicode和传出的文档转换为UTF-8。您不必考虑编码,除非文档没有指定编码,而Beautiful Soup无法检测编码,在这种情况下,您必须指定原始编码。Beautiful Soup解析你给它的任何东西,并为你做树遍历。

(5) Selenium

Selenium是用来做自动化的网站。这本质上允许你测试你的网站或制作一个机器人将与其他网站互动。所以你可以做一些事情,比如访问HTML字段,移动鼠标光标,访问按钮等等。我以前用过这个,当我在一个虚拟助手上工作时,它可以在网上搜索我要它搜索的信息。它可以进入搜索栏,键入搜索词,然后查看不同的结果,并选择一个进行搜索。该模块在正确使用时是强大的。

数据科学

Python在数据科学中非常流行。它有很多不同的模块,可以让数据科学家的工作更轻松。

(1) NumPy

Numpy是一个在Python中进行数学运算的神奇模块。它能让你处理多维度的数组类对象,以及各种复杂的,三维的,四维的,五维的,数学运算,非常快。它这么快的原因之一是它的很多操作都是用C实现的,这意味着如果你说不使用那个模块而用标准Python实现那些操作,那么使用NumPy会让你的程序更快。

(2) Pandas

Pandas非常适合阅读和处理数据帧和一般的数据。这使得操作数据变得非常容易。它有一个相对陡峭的学习曲线,但它是非常值得的努力。熊猫通过五个步骤处理数据处理和分析:装载、准备、操作、建模和分析。

(3) Matplotlib

Matplotlib用于数据可视化,比如绘制图表,它也适用于机器学习模型。我知道Matplotlib有很多负面消息,但这主要是因为它有两个接口,给新用户带来了困惑。第一种是基于MATLAB并使用基于状态的界面。第二个是面向对象的接口。这两种方法的原因太长了,不能在本文中讨论,但是在使用Matplotlib绘图时,了解这两种方法是非常重要的。

(4) NLTK

NLTK代表自然语言工具包,它用于执行任何数据处理或文本处理。因此,如果你有文本数据,你想删除标点符号或空格,或标记你的数据。

(5) OpenCV

OpenCV是一个功能强大的模块,用于很多不同的事情。它的主要重点是图像和视频数据处理。所以我们可以进行特征检测和描述,物体识别,它还内置了机器学习工具,你可以用它来操作数据或处理图像。

机器学习和人工智能

这一领域吸引了大量关注,尤其是关注科技的发展方向。现在几乎所有的东西都运行一些机器学习代码。自动驾驶汽车,图像识别,个性化搜索,等等

(1) TensorFlow

TensorFlow是目前为止本节中最强大的模块。您可以使用它来做一些强大的事情,而不必真正理解所有的数学是如何工作的(并不是说您不应该对数学感到厌倦)。TensorFlow的好处是它允许你创建神经网络和运行标准的机器学习算法。对于那些热衷于机器学习的人来说,这个模块是多么强大,我怎么强调都不为过。也许我稍后会就此写另一篇深入的文章。

(2) Keras

Keras是一个模块,实际上是TensorFlow的高级API。这个模块通常更适合刚刚开始这个领域的人。Keras允许更容易地访问TensorFlow的一些特性。你几乎可以把它看作是TensorFlow的包装器,它可以让建模和快速完成工作变得更容易。

(3) Pytorch

我没有用过这么多,但我不能把它漏掉。它是Python中的机器学习和人工智能方面的另一个领先模块。Pytorch有两个主要特点。第一种是命令式编程,与符号编程相反。命令式程序在你输入时执行计算。这个功能使程序更加灵活。第二种是动态计算绘图,与静态计算绘图相对。这意味着,在运行时,系统生成的图结构,最适合动态网络。

(4) Scikit-learn

Scikit-learn不像前面提到的模块那么强大。它的重量更轻一些,允许我们处理一些事情,比如聚类算法,线性进展,支持,向量机,等等。你可以在TensorFlow中完成这些工作,但是如果你用一个轻量级的模块来完成任务,却用一个大型的模块来完成,那将会适得其反。

Python的图形用户界面

(1) Kivy

Kivy是一个非常好的模块,它可以构建适用于所有不同平台的应用程序。你构建的任何Kivy应用程序都可以在Linux、Mac、Windows、iOS和Android上运行。

(2) PyQt5

在我看来,这是Python最好的图形用户界面生成器。它有最多的选择和灵活性,你可以用它来做什么。您甚至可以使用CSS样式来设置应用程序的样式。使用此模块构建的一个示例是spyder IDE。如果您想用Python制作更复杂的桌面应用程序,那么应该选择这个模块。

(3) Tkinter

Tkinter是一个较老的模块。它也用于构建图形用户界面。就接口的外观而言,它与PyQt5非常相似,尽管它的能力肯定不如PyQt5。我想说的是,对于初学者和那些想要快速、轻松地做出一些东西的人来说,这有点容易。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2010-09-07 14:18:55

Perl

2015-07-06 10:31:50

Java开发者监控工具

2011-04-27 16:20:30

iOS开发工具iOS开发工具

2018-08-06 13:46:07

编程语言Python数据科学库

2016-02-26 10:20:17

HadoopSpark大数据项目

2019-10-17 08:42:46

WebPythonMatplotlib

2009-11-18 09:52:21

Oracle密码验证

2018-06-13 09:43:00

开发者JavaGo

2012-08-20 10:49:13

编程

2024-01-18 10:27:21

Wi-Fi 6

2013-09-12 15:16:54

iOS开发代码

2023-02-03 16:16:34

物联网

2023-10-24 06:59:17

2018-04-25 13:12:12

编程程序员建议

2012-12-27 09:56:34

IaaSPaaS数据库

2020-09-23 22:40:31

Python 开发编程语言

2020-12-03 14:59:31

Python编程工具

2018-01-31 22:26:36

Java开发人员

2020-12-18 10:04:52

API漏洞应用程序编程接口

2022-08-03 13:47:58

漏洞物联网
点赞
收藏

51CTO技术栈公众号