首发于 老K玩Python
你必须知道的18个Python开源库

你必须知道的18个Python开源库

人生苦短,我用Python


python可以帮助我们完成很多工作,老K根据适用领域,为各位整理了最常用的18个开源库,各位可以根据自己的业务方向,针对性地进行学习和研究。

网站开发

一个健全的计算机语言,一定会涉及到http请求以及网站开发相关的功能,python也是这样的。

1. requests


requests 能帮助你轻松实现 http 请求,极易上手,是目前 github 标星最多的 python 项目之一。如果你的工作涉及模拟 http 请求, requests 是你必须要掌握的 python 库之一。

https://pypi.org/project/requests/

2. django


django 对于需要网站开发的 python 工程师来说十分重要,包括instagram和tinder这样的网站,最初也是通过 django 建立起他们的网站的。
Django 是一个完全用 python 实现的后端web框架,它甚至可以和其它语言框架对接。它拥有大量web开发所需要的功能。通过 Django ,你可以很快实现你自己的企业级网站。

https://pypi.org/project/Django/

3. flask


Flask 被视为 django 的竞争对手。 Flask 也是用于开发网站的后端web框架,它的工作方式和 Django 相似,但它设置起来更便捷,并且没有 django 那么复杂的功能和工具。
所以,如果您仅仅是需要开发一个轻量级的网站,不包括诸如身份验证等功能,那 Flask 会成为您的选项。

https://pypi.org/project/Flask/

4. twisted


twisted 可以用于在线游戏开发的工具,她是一个事件驱动的网络编程框架。
如果你正在尝试在线互动或实时响应相关的功能,你可以研究一下 twisted

https://twistedmatrix.com/trac/

5. beautifulsoup4


beautifulsoup4 是一个 html 解析工具。如果你的方向是一个爬虫工程师,需要获取 html 数据, beautifulsoup4 一定可以给到您帮助。

https://pypi.org/project/beautifulsoup4/

6. selenium


selenium 可以实现网站上的一些自动化操作。它可以模拟浏览器的点击按钮、输入文本等行为。开发者的初衷是用于测试网站功能,但现在也被广泛用于 html 动态网页的数据爬取。
如果你是一个网络工程师, selenium 是一个绝对值得你花时间去研究的开源库。

https://selenium-python.readthedocs.io/


数据科学

python的流行源于数据科学的流行,数据科学家通过python的开源库,让研究工作变得更加轻松。

7. numpy


numpy python 在数据科学应用领域里的基础。它允许对数组操作,这使得诸如矩阵、甚至一些三维、四维、五维的数据运算变得容器。
numpy 的很多算法是用C语言实现的,这让您的数据运算比其它模块快得多。

https://numpy.org/

8. pandas


pandas 作为数据处理工具,有着相当强的可操作性和可读性,尤其当你使用 JupyterNotbook 的时候,并且它基本可以完成一切你能想到的数据处理操作。
现在, pandas 已经成为了数据科学家的一项必备技能了。

https://pandas.pydata.org/

9. matplotlib


matplotlib 非常适合用于数据可视化的任务,它对制作图表、分析数据,甚至机器学习建模上都有很大帮助,比如将损失函数可视化。

https://matplotlib.org/

10. nltk


nltk 是自然语言工具包,它能帮您方便地处理文本数据,并进行学习分析。
如果你有文本数据需要处理, nltk 可以很好地帮助到您。

https://www.nltk.org/

11. opencv


opencv 是一款功能强大的图像及视频数据处理工具,我们可以用它完成诸如特征检测之类的任务,它在人脸识别、物件检测有很大的应用价值。
opencv 中内置了一些机器学习的模型,可以让你更快完成图像数据处理以及绘制的工作。

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html


AI机器学习

python进入公众视野是源自于AI和机器学习在工业界的应用。越来越多的人因为学习AI和机器学习,而开始学习python这门计算机语言。

12. tensorflow


tensorflow 是迄今最强大的AI开源库,它由 google 维护和支持。它能实现一些非常复杂的数学模型,比如深度神经网络模型、卷积神经网络模型等。
tensorflow 有着健全的说明指南,你可以在 tensorflow 官网上学习如何开始你的AI项目。

https://www.tensorflow.org/

13. keras


Keras 是一个在 python 上运行很好的开源库。相对于 tensorflow ,它更易于上手,它让制作模型和执行操作变得更加容易。
Keras 也是 Kaggle 竞赛中最常被使用的深度学习框架之一,致力于AI机器学习的你,一定不能错过它。

https://keras.io/

14. pytorch


pytorch 也是诸多领先的深度学习框架之一。不过相比 tensorflow pytorch 的应用并没有那么广泛。但作为一个以机器学习行业为目标的同学, pytorch 绝对值得一试。

https://pytorch.org/

15. sklearn


sklearn scikit-learn 的缩写,它绝对没有前几个模块那么强大,但胜在它比较轻量,它能帮我们更快实现一些简单的算法,诸如聚类算法、回归问题、支持向量机等。
以上这些功能自然可以用 tensorflow 实现,但如果你需要一个轻量级的库来学习机器学习,作为入门, sklearn 是一个很好的选择。

https://scikit-learn.org/stable/


图形用户界面(GUI)

图形用户界面不是Python的强项,但在这个领域,你仍然能找到很多值得尝试的库。

16. Kivy


Kivy 是一个良好的应用程序构建框架。它能跨平台运行,用 Kivy 构建的程序可以在 Linux Mac Windows iOS 以及 Android 上顺畅地运行。它便于使用,当你需要开发一个全平台运行的程序时,可以了解一下 kivy

https://kivy.org/#home

17. pyqt5


pyqt5 可以说是诸多 python 下最好的 GUI 工具。使用灵活,甚至可以使用 css 样式来设置你的应用程序界面。 Anaconda 内置的 spyder IDE其实就是用 pyqt5 实现的。
如果你想将您的代码构建成应用程序, pyqt5 是你不得不学会的 python 开源库。

https://pypi.org/project/PyQt5/

18. tkinter


tkinter 是一款较早的 GUI 工具,它和 pyqt5 有点像。对于初学者来说, tkinter 较容易上手。

https://wiki.python.org/moin/TkInter


其它

ex. pygame


pygame 是一款用于游戏开发的工具。如果你想开发一款属于自己的简单2D游戏或者其它小工具, pygame 绝对可以帮你实现你的想法。 Pygame 也是你完成强化学习任务时,可以仰仗的工具之一。
学会 pygame ,绝对会让你的 python 开发之旅变得有趣而又多彩。 https://www.pygame.org/docs/


部分内容整理自网络,侵删
个人能力有限,推荐可能主观,如果有其它值得推荐却遗漏的,欢迎您留言告诉我。
关注<老K玩代码>公众号,获得更多实战案例和行业资讯。

[1]Tech With Tim.Top 18 Most Useful Python Modules.[EB/OL] youtube.com/watch?

编辑于 2020-06-06 17:02

文章被以下专栏收录