numpy.empty()返回的值是否随机?

时间:2019-02-12 11:09:30

标签: python numpy

https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.empty.html

读取到“返回给定形状和类型的新数组,而无需初始化条目。” Q1:做什么“不初始化条目”。是这里 问题2:np.empty()返回的输出是随机数吗? 我正在使用下面的代码生成一个数组,并且得到了相同的输出,所以它们怎么可能是随机数?

将numpy导入为np

print(np.empty([2,2]))

1 个答案:

答案 0 :(得分:3)

该数组已分配到内存中,但该区域中的每个项目都未初始化,就像未初始化的变量一样。换句话说,数组中的项目尚未设置其值,而只是采用保存在内存中的值,直到您明确为其分配值为止。有时,此值是0或接近0,但不能保证这些位置的内存是多少。这是reference page上的注释:

  

空与零不同,它不会将数组值设置为零,因此可能略快。另一方面,它要求用户手动设置数组中的所有值,因此应谨慎使用。

因此,除非您有特定的用例,否则请使用zeros或其他名称。我还将注意到,通常Python不允许您仅声明变量而不对其进行初始化,这就是为什么这种行为看起来很奇怪的原因。