编辑
经过一些更多的摆弄,我到目前为止已经隔离了以下状态:
>直接输入变量时,1D数组给出两个不同的地址,使用print()时只有一个地址
> 2D数组(或矩阵)在直接输入变量时给出三个不同的地址,在使用print()时给出两个
> 3D数组在直接输入变量时给出两个不同的地址,在使用print()时只有一个(显然与1D数组相同)
像这样:
>>> a = numpy.array([1,2,3], dtype="int32")
>>> a.data
>>> a.data
>>> a.data
>>> a.data
>>> a.data
>>> print(a.data)
>>> print(a.data)
>>> print(a.data)
>>> print(a.data)
>>> print(a.data)
>>> d = numpy.array([[1,2,3]], dtype="int32")
>>> d.data
>>> d.data
>>> d.data
>>> d.data
>>> d.data
>>> d.data
>>> print(d.data)
>>> print(d.data)
>>> print(d.data)
>>> print(d.data)
>>> print(d.data)
>>> b = numpy.matrix([[1,2,3],[4,5,6]], dtype="int32")
>>> b.data
>>> b.data
>>> b.data
>>> b.data
>>> b.data
>>> print(b.data)
>>> print(b.data)
>>> print(b.data)
>>> print(b.data)
>>> print(b.data)
>>> c = numpy.matrix([[1,2,3],[4,5,6],[7,8,9]], dtype="int32")
>>> c.data
>>> c.data
>>> c.data
>>> c.data
>>> c.data
>>> c.data
>>> c.data
>>> print(c.data)
>>> print(c.data)
>>> print(c.data)
>>> print(c.data)
>>> print(c.data)
>>> e = numpy.array([[[0,1],[2,3]],[[4,5],[6,7]]], dtype="int32")
>>> e.data
>>> e.data
>>> e.data
>>> e.data
>>> e.data
>>> print(e.data)
>>> print(e.data)
>>> print(e.data)
原始邮政
我的印象只是在python控制台中输入一个变量,回显一个简单描述它的值(和类型)的字符串.它以与print()不同的方式格式化,但我假设它们返回的值都是相同的.
当我尝试输出numpy对象的数据指针对象的地址时,只需输入变量每隔一次给我不同的值,而print()给出相同的值.
这表明两个操作的不同之处不仅在于输出的格式,还在于它们从何处获取信息.但这些额外的差异究竟是由什么组成的呢?
>>> a = numpy.array([0,1,2])
>>> a
array([0, 1, 2])
>>> print(a)
[0 1 2]
>>> print(a.data)
>>> print(a.data)
>>> print(a.data)
>>> a.data
>>> a.data
>>> a.data
>>> a.data
>>> a.data