去實例路線:
In [1586]: np.array(1,np.longdouble)
Out[1586]: array(1.0, dtype=float96)
In [1587]: np.longdouble(1).nbytes
Out[1587]: 12
In [1588]: np.dtype(np.longdouble)
Out[1588]: dtype('float96')
默認的浮動是float64
。
nbytes
是實例的屬性,而不是類的屬性。這種區別在Python中很常見。
如果讓我從它dtype
對象:
In [1592]: dt=np.dtype(np.longdouble)
In [1593]: dt
Out[1593]: dtype('float96')
In [1594]: dt.descr
Out[1594]: [('', '<f12')]
In [1595]: dt.itemsize
Out[1595]: 12
np.typeDict
地圖代碼的類型。類型名稱通常表示大小。
In [1600]: np.typeDict['longdouble']
Out[1600]: numpy.float96
===================
finfo
開始與np.dtype(dtype)
。所以dt.itemsize
是獲得這種類型字節大小的正確方法。
由於dtypes有很多同義詞,因此使用像np.dtype
這樣的「中央結算所」是有意義的。而且對編譯器有一定的依賴性,所以有些屬性必須在運行時導出,而不是在某些python類定義中進行硬編碼。
這會幫助嗎? - http://stackoverflow.com/questions/16972501/numpy-size-of-data-type – Divakar