为什么 Python 没有 Numpy?
引言
Numpy 是 Python 中用于科学计算的强大库。它提供了一个强大的多维数组对象,以及对该数组进行各种操作的各种函数。对于许多需要处理大量数据的应用程序来说,Numpy 都是必不可少的工具。
然而,令人惊讶的是,Python 标准库中并没有包含 Numpy。这不禁让人疑惑,为什么如此关键的库没有被包含在核心发行版中?
历史
Numpy 起源于一个名为 Numarray 的项目,该项目于 2001 年开始开发。Numarray 很快成为科学计算的流行工具,但由于其许可限制和一些技术缺陷,它受到了限制。
2005 年,一群开发者组建了一个名为 SciPy(科学 Python)的项目,旨在创建一个统一的 Python 科学计算生态系统。作为 SciPy 项目的一部分,Numpy 于 2006 年首次发布。
分离的理由
虽然 Numpy 与 Python 标准库紧密集成,但它并没有包含在其中有几个原因。
1. 保持核心发行版的精简
Python 标准库旨在保持精简,只包含最基本和最常用的功能。Numpy 是一个特定领域的库,其功能对于许多应用程序并非必需。将其包含在核心发行版中将增加发行版的复杂性和大小。
2. 避免许可冲突
Numpy 受 BSD 许可证保护,而 Python 标准库受 Python 软件基金会许可证保护。将 Numpy 包含在核心发行版中将需要修改许可证,这可能会产生潜在的法律复杂性。
3. 促进灵活性和可扩展性
将 Numpy 与核心发行版分离使 Python 开发人员能够根据需要灵活地安装和使用它。它还可以促进科学计算生态系统的可扩展性,允许其他库和项目轻松集成 Numpy。
替代方案
虽然 Numpy 没有包含在 Python 标准库中,但有几个替代方案可供选择。
- Pandas:一个受欢迎的 Python 库,提供用于数据操作和分析的类似 Numpy 的数组对象。
- SciPy:一个包含 Numpy 及其各种扩展的更广泛的科学计算生态系统。
- ArrayFire:一个高度优化的 GPGPU 加速数组库。
结论
尽管 Python 标准库中没有包含 Numpy,但这仍然是科学计算中必不可少的工具。将其与核心发行版分离的决定是由多种因素促成的,包括保持核心发行版的精简、避免许可冲突以及促进灵活性和可扩展性。
常见问答
- 为什么 Numpy 没有包含在 Python 标准库中?
为了保持核心发行版的精简、避免许可冲突并促进灵活性和可扩展性。
- 有哪些替代 Numpy 的库?
Pandas、SciPy 和 ArrayFire。
- Numpy 是开源的吗?
是的,它受 BSD 许可证保护。
- Numpy 仅用于 Python 吗?
不,它也可以与其他语言(如 C++)一起使用。
- 如何安装 Numpy?
使用 pip 命令:
pip install numpy
。
“`
原创文章,作者:王利头,如若转载,请注明出处:https://www.wanglitou.cn/article_33867.html