我知道在C语言中,字符是1个字节,整数是4个字节。当我在Python中运行此代码以确定字符和整数的存储时,我得到了意外的值。谁能解释这个差异?

>>> sys.getsizeof(1)
24
>>> sys.getsizeof(10)
24
>>> sys.getsizeof(100)
24
>>> sys.getsizeof("a")
38
>>> sys.getsizeof("b")
38
>>> dump = cPickle.dumps(1)
>>> sys.getsizeof(dump)
41
>>> >>> sys.getsizeof(chr(65))
38

最佳答案

首先,Python没有字符类型,那些是包含一个字符的字符串。其次,PyObject标头有额外的开销,尽管某些基本类型仅使用它的一部分。

关于python - 字符和整数如何在Python中存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27053900/

10-12 23:36