Python 为什么我不能在numpy中使用链表达式?

Python 为什么我不能在numpy中使用链表达式?,python,numpy,Python,Numpy,这不起作用: import numpy as np np.random.random(10).sort() 这没关系: Z = np.random.random(10) Z.sort() 请告诉我为什么链式表达式在Numpy中不起作用。就像list.sort,Numpy.ndarray.sort原地排序一样,这意味着它变异数组,然后返回None 帮助(numpy.ndarray.sort)-> 排序(…) a、 排序(axis=-1,kind='quicksort',order=None)

这不起作用:

import numpy as np
np.random.random(10).sort() 
这没关系:

Z = np.random.random(10)
Z.sort()

请告诉我为什么链式表达式在Numpy中不起作用。

就像
list.sort
Numpy.ndarray.sort
原地排序一样,这意味着它变异数组,然后返回
None

帮助(numpy.ndarray.sort)
->

排序(…)
a、 排序(axis=-1,kind='quicksort',order=None)
在适当的位置对数组进行排序

您不会在REPL中看到任何输出,因为未显示
None
。 (即使这一行生成的值不是
None
,但它没有,这也毫无意义,因为您没有指定任何名称。)


在第二个示例中,您创建一个数组
Z
,然后对其进行排序,结果与预期的一样。

这两个代码段都不会引发错误。你希望第一个做什么?我想生成一个长度为10的随机数组,然后对数组进行排序。第一个代码段没有给出正确的结果,但第二个代码段将
*。sort()
是一个方法。因此,第一次尝试并不创建数据,而是指向一个方法的指针,即“创建随机数然后对其进行排序的操作”。因此,您可以使用方法来获取所需的数据,而不是所需的数据。这种方法甚至是不正确的,因为它将数据交换到适当的位置,而您还没有为其分配位置。
np.random.random(10).sort()