前言

Python 拥有许多强大的扩展包,为 Web 开发者、数据分析从业人员、机器学习工程师,快速构建模型提供便利。

1、Web、爬虫、打包工具

Django

Django 是最通用的 Web 开发框架之一,可以帮助开发者从零创造一个全功能的大型 Web 应用程序。

Flask

Flask 是一个轻量级的 WSGI Web 应用框架,适合搭建轻量级的 Web 应用程序;容易上手,被广大 Python 开发者所喜爱。

FastAPI

FastAPI 是一个现代、高性能 Web 框架,用于构建 APIs,基于 Python 3.6 及以上版本。
最大特点:快!性能极高,可与 Node.js、Go 媲美。
基于 Starlette 和 Pydantic,是 FastAPI 如此高性能的重要原因。还具备代码复用性高、容易上手、健壮性强的优点。
FastAPI 还有一个非常强的优势:方便的 API 调试,生成 API 文档,直接能够做到调试自己构建的 API,这在实际应用中,价值凸显。

Requests

Requests 生成、接受、解析一个 HTTP 请求,使用 Requests 做这些事情都非常简单。

lxml

lxml 是 Python 很好用的处理 XML 和 HTML 数据的库。

Pillow

Pillow 是一个编辑图像的处理库。可用来创建复合图像、应用过滤器、修改透明度、转换图像文件类型等。

PyInstaller

PyInstaller 能将一个应用程序打包为独立可执行的文件。比如 Windows 下打包为 EXE 文件。

Pydantic

FastAPI 基于 Pydantic,Pydantic 主要用来做类型强制检查。参数赋值,不符合类型要求,就会抛出异常。

对于 API 服务,支持类型检查非常有用,会让服务更加健壮,也会加快开发速度。开发者再也不用自己写一行一行的代码,去做类型检查。

2、数据分析、机器学习和深度学习包和框架

NumPy

NumPy 是基于 Python 的开源数值计算扩展库,用来存储和处理大型矩阵。

相比于 Python 自身的嵌套列表(nested list structure)结构要高效得多。

主要功能包括:

  • N 维数组对象 Array;
  • 成熟的广播机制;
  • 能够解决线性代数、随机数生成数相关问题。

SciPy

SciPy 基于 Python,是用于数学计算的工具包。

Pandas

Pandas 是 Python 中,功能强大的数据分析库。提供关于数据分析高级的数据结构,各种各样的分析工具,确保整个数据处理的过程更加容易。

Pandas 两大数据结构:

  • 一维 Series;
  • 二维 DataFrame。

Matplotlib

Matplotlib 是 Python 中非常强大的 2D 绘图工具。提供方便易用的绘图接口,能使用在 Python 脚本,IPython shell、Jupyter Notebook、Web 应用服务器等。

Seaborn

Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库,提供绘制更加高层和优美的图形接口。

scikit-learn

scikit-learn 是适用于数据处理和机器学习处理非常强大的库。提供数据降维、回归、聚类、分类等功能,是机器学习从业者的必备库之一。

TensorFlow

TensorFlow 由 Google 与 Brain Team 合作开发,是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。

节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

PyTorch

PyTorch 是使用 GPU 和 CPU 优化的深度学习张量库,也是深度学习的重要的一个库。