为什么ndarray.resize()in_place是np.resize()在外?

时间:2018-08-23 07:43:00

标签: python class numpy

根据我的理解,上课 instance.method(parameters)=class.method(instance,parameters),所以只是符号上的区别。 但是np.resize(ndarray)会更改out_place,而ndarray.resize()会更改in_place。

我想念什么?

1 个答案:

答案 0 :(得分:3)

是的,但是numpy不是 class ,它是模块。您想将numpy.ndarray作为课程。观察:

In [1]: import numpy as np

In [2]: arr = np.array([1,2,3])

In [3]: np.ndarray.resize(arr, (3,1))

In [4]: arr
Out[4]:
array([[1],
       [2],
       [3]])
In [5]: np.ndarray.resize(arr, (3,))

In [6]: arr
Out[6]: array([1, 2, 3])

因此,numpy.resize只是一个模块级函数,它返回一个新数组而不是就地修改该数组。