我知道在C中,字符是1个字节,而int是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
答案 0 :(得分:1)
首先,Python没有字符类型,这些是包含一个字符的字符串。其次,PyObject头有额外的开销,但有些基类型只使用它的一部分。