科学家为什么要np为 fornumpy烦恼?
(请注意,这更像是一个“哲学”/推理问题 - 让我们假设您让代码按预期执行,而不管语法选择如何)
当我为科学应用程序编写代码时,数学函数(如sqrt, 以及数组)以及 Numpy 的许多其他特性都是“面包和黄油”——无处不在并且被认为是理所当然的。出于这个原因,我总是使用
from numpy import *
代替
import numpy as np
尽管我看到的几乎所有在线示例。事实上,我的一位同事发现我的代码很有用,他说他们必须仔细检查并在np任何地方插入。然而,为什么要打扰?老实说,在我编写的数千行 Python 代码中,这三个字符是多余的,浪费了我的时间。而那段时间并不是微不足道的:正如许多 SE 讨论中所述,程序员的时间比 CPU 时间更有价值。如果您想要一个超级优化的程序,请使用C或Fortran用于 HPC 而不是python.
使用
from numpy import sqrt
也是一种选择,但在快速制作脚本时也有缺点,您可能想在其中突然使用新功能(就像您在C, Fortran, Matlab, 中所做的那样)。
假设有一个库可以准确计算复数的平方根 - 那么它仍然更快,在必要时import complxlib as cplx使用,其他 99% 的时间。那么有没有一个真实的例子或论据来说明为什么我的方法是不好的做法?cplx.sqrtsqrt
请注意,这个问题具体是关于numpy- python 科学应用的主要内容,而不是例如super_esoteric_library8472.