翻譯:屬性錯誤,tuple對象沒有shape屬性。
這往往發生在我們對一個tuple類型數據,調用成員變量shape所致(a.shape 或 a.shape[])。
所以要查看調用發生處,看看自己的數據類型是不是有錯。我們看代碼
import numpy as np
a = np.zeros([5,5])
#正確使用方式:
print(a)
print(type(a))
print(type(a.shape))
print(a.shape)
#出錯:
a = tuple(a) #這段代碼將a轉換成了tuple類型
print(type(a))
print(type(a.shape))#報錯
print(a.shape)#報錯
仔細看代碼中註釋報錯的地方均爲錯誤用法!!
相似的報錯有:
AttributeError: 'list' object has no attribute 'shape';
AttributeError: 'int' object has no attribute 'shape';
等,都是這樣的原因,大家要注意!
PS:tuple(a),類型轉換不會影響a的性質,必須要如果想保存轉換後的變量必須,誰聲明新的變量來保存,例 b = tuple(a).
b 就是 tuple型,而a類型不變。
與另一種錯誤區分:TypeError: 'tuple' object is not callable.
詳見我的另一篇博客:https://blog.csdn.net/qq_41368074/article/details/105737846