如何确定Python中对象的大小?

发布于 2021-02-02 23:22:20

在C中,我们可以找到的大小int,char等我想知道如何获得物体的大小就像一个字符串,整数,等在Python。

相关问题:Python列表(元组)中每个元素有多少个字节?

我使用的XML文件包含指定值大小的大小字段。我必须解析此XML并进行编码。当我想更改特定字段的值时,我将检查该值的大小字段。在这里,我想比较输入的新值是否与XML中的值相同。我需要检查新值的大小。如果是字符串,我可以说它的长度。但是如果是int,float等,我会感到困惑。

关注者
0
被浏览
183
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    只需使用模块中定义的sys.getsizeof函数即可sys

    sys.getsizeof(object[, default]):

    返回对象的大小(以字节为单位)。该对象可以是任何类型的对象。所有内置对象都将返回正确的结果,但是对于第三方扩展,这不一定成立,因为它是特定于实现的。

    default参数允许定义一个值,如果对象类型不提供检索大小的方法并导致,则将返回该值 TypeError

    getsizeof__sizeof__如果对象由垃圾收集器管理,则调用该对象的 方法并增加额外的垃圾收集器开销。

    用法示例,在python 3.0中:

    >>> import sys
    >>> x = 2
    >>> sys.getsizeof(x)
    24
    >>> sys.getsizeof(sys.getsizeof)
    32
    >>> sys.getsizeof('this')
    38
    >>> sys.getsizeof('this also')
    48
    

    如果你使用的是python <2.6及以下版本,则sys.getsizeof可以使用此扩展模块。虽然从未使用过。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看