python怎么获取数据类型_在python中获取原始数据类型的大小

跑步sys.getsizeof(float)

不返回任何单个浮点的大小,它返回float类的大小。该类包含的数据比任何一个float都多,因此返回的大小也会更大。在

如果您只想知道单个浮点的大小,最简单的方法是简单地实例化一些任意的浮点。例如:

^{pr2}$

请注意float()

只需返回0.0,因此这实际上相当于:sys.getsizeof(0.0)

在您的情况下,这将返回24字节(可能对大多数其他人也是如此)。在CPython(最常见的Python实现)的情况下,每个float对象都将包含一个引用计数器和一个指向类型的指针(指向float类的指针),对于64位CPython,每个8个字节,对于32位CPython,每个4个字节。剩下的字节(24 - 8 - 8 = 8在您的例子中很可能是64位CPython)将是实际浮点值本身所使用的字节。在

但是,对于其他Python实现,这并不能保证会有同样的结果。language reference上写着:These represent machine-level double precision floating point numbers. You are at the mercy of the underlying machine architecture (and C or Java implementation) for the accepted range and handling of overflow. Python does not support single-precision floating point numbers; the savings in processor and memory usage that are usually the reason for using these are dwarfed by the overhead of using objects in Python, so there is no reason to complicate the language with two kinds of floating point numbers.

我不知道有什么运行时方法可以准确地告诉你所用的字节数。但是,请注意,上面引用的语言引用确实指出Python只支持双精度浮点,因此在大多数情况下(取决于您始终100%正确的关键程度),它应该与C中的double precision相当

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值