先看一段代码的的运行结果:
import numpy as np
train_x = np.linspace(-1,1,10)
print(train_x.shape)
print(train_x.shape[0])
print(*train_x.shape) # *train_x.shape 与 train_x.shape[0] 的结果是一致的
print(train_x[0].shape) # train_x.sshape[0]是一个标量,在本例中为10,标量的shape为 空
结果:
(10,)
10
10
()
输出:(10,),10,10,()
(10, )表示这是一个元组,是不能当做一个索引来进行引用, * 星号的作用大概是去掉 tuple 属性吧(自动解包)
最后一个表示标量的shape为 空,即没有shape
Reference: