为什么numpy中的某些函数是np.ndarray的方法,有些是函数?

时间:2018-02-02 04:30:33

标签: numpy

这是一个软问题,但我怀疑理解这一点将有助于我(并希望其他人)更好地理解numpy的哲学(我最近从MATLAB迁移过来)。

某些功能,例如summaxtransposeconjugate等,是类ndarray的方法,因此可以使用{{1 },或arr.sum()等。

大多数函数都是模块arr.sum(axis=1)的函数,因此您需要将它们称为numpynumpy.count_nonzero(arr)等。许多方法只需要一个{{1}对象作为输入,因此在设计方面,它们可以被视为数组本身的属性。

这种设计选择背后的逻辑是什么?

1 个答案:

答案 0 :(得分:0)

我将评论聚集在一起(谢谢!)来回答我的问题:

我最初认为有一些基本的指导原则,一个基本的事实。在掌握了这个真理之后,我猜想,我对TcpClient numpy的理解,也许对生命本身的理解将会扩展和澄清,带着我走向更好的视野。唉,事实证明,它只是一个未规划补丁上的补丁上的补丁,没有组织原则,没有指导方案,没有北极星,以显示路径。仅仅是宇宙随机性的产物,以及我们都是奴隶的任意性。