这个问题有点模棱两可——我不知道你说的“观点”是什么意思。如果你想
查询
本机Python对象的类型,
@atzz
他的回答会指引你向正确的方向前进。
但是,如果你想
生成
具有原始C类型语义的Python对象(例如
uint32_t
,
int16_t
),使用
struct
模块。您可以通过以下方法确定给定C类型原语中的位数:
>>> struct.calcsize('c') # char
1
>>> struct.calcsize('h') # short
2
>>> struct.calcsize('i') # int
4
>>> struct.calcsize('l') # long
4
这也反映在
array
模块,它可以生成这些较低级别类型的数组:
>>> array.array('c').itemsize # char
1
支持的最大整数(Python 2)
int
)是由
sys.maxint
.
>>> import sys, math
>>> math.ceil(math.log(sys.maxint, 2)) + 1 # Signedness
32.0
还有
sys.getsizeof
,它返回
蟒蛇
剩余内存中的对象:
>>> a = 5
>>> sys.getsizeof(a) # Residual memory.
12
对于浮点数据和精度数据,使用
sys.float_info
:
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.2204460492503131e-16, radix=2, rounds=1)