为什么选择 Python?
了解什么是 Python 以及如何安装它。
什么是 Python?
Python 是一种通用的计算机编程语言,常用于开发网站和软件、自动化任务以及进行数据分析。它能够用于创建各种程序,不专门针对任何特定问题。
Python 发行版
安装 Python 可能会出人意料地困难。问题在于,许多库(如 NumPy 和 SciPy)是用 Fortran 或 C 编写的,因为它们是从旧的库移植而来的。
大多数在线平台(如 Stack Overflow 和 Reddit)的用户都是网页开发者。他们工作在一个高度标准化的环境中,所使用的每个库都是纯 Python 编写的,因此安装起来非常简单。这意味着,如果我们安装 Python 时遇到问题并寻求帮助,可能难以找到可靠的解决方案。
在编写本课程时,我们研究了多种解决该问题的方法。其中最有效的方案是使用 Anaconda Python 发行版。如果你使用 Windows 系统,我们特别推荐使用这一发行版。它预先安装了大多数工程类库(唯一的例外是 OpenCV)。
SciPy / NumPy
SciPy/NumPy 是一个庞大的项目,涵盖了科学计算领域的几乎所有内容。
标准 Python 仅支持整数数据类型。然而我们知道,整数可以是 8 位、16 位、32 位或 64 位,浮点数通常以 64 位形式存储。这些扩展功能得益于 SciPy 的支持。但由于 SciPy 本身是一个庞大的项目,因此决定将其部分功能提取出来,形成一个独立的库——NumPy。
NumPy 是我们日常使用频率最高的工具。当 NumPy 无法满足需求时,我们会转向 SciPy。
许多人容易混淆 SciPy 和 NumPy。需要记住的是:它们本质上是同一个东西!
另一个我们经常使用的 SciPy 相关库是 Matplotlib(或 Pylab)。这是一个绘图库,最初基于 Matlab 构建(SciPy 的大部分内容都源于 Matlab)。对于不了解 Matlab 的人来说,它是最常用的科学计算软件之一。但它的价格昂贵,许可证体系复杂,导致大多数公司只能购买有限数量的副本。目前,唯一普遍安装 Matlab 的地方通常是大学!
Pandas
Pandas 是 Python 中较新的一个组件,最初是为了替代 R 语言的功能而开发的,主要用于金融领域中的统计计算。
当处理简单的文本文件或 CSV 文件时,NumPy 已经足够。但因为 NumPy 涉及大量底层操作,面对像 Microsoft Excel 这样复杂的大文件时,很快就会变得难以管理。Pandas 正好解决了这个问题。
如果你使用的是 Anaconda 发行版,那么 SciPy 和 Pandas 会自动安装。不过,我们仍需自行安装 OpenCV。
OpenCV
OpenCV 是一个大型开源库,专注于计算机视觉、机器学习和图像处理。虽然目前大多数 OpenCV 示例仍使用 C/C++ 编写,但 Python 的使用正在快速增长。
其他库
还有一些其他重要库值得了解,比如 Virtualenv。
Virtualenv,也称为虚拟环境,是一个非常有用的工具,可用于在同一台机器上安装不同版本的库。例如,如果某段代码仅与某个库的 v0.2 版本兼容,Virtualenv 就能创建一个专属的 Python 环境,只包含该特定版本。同一库可以存在数十个不同版本,彼此之间互不冲突。