首页 > 代码库 > python 类型大小

python 类型大小

sys.getsizeof()

import sys
>>> sys.getsizeof(3)38>>> sys.getsizeof(32)39>>> sys.getsizeof(325)40>>> sys.getsizeof(325)24>>> sys.getsizeof(1)24>>> sys.getsizeof(10000003250)24>>> sys.getsizeof(1000000000000000)24>>> sys.getsizeof(1000000000000000090)24>>> sys.getsizeof(10000000000000000900)36

可以看出字符串是比整形占用空间小的,且整形在一定范围内占用空间是一样的

对比

import timeitimport sysdef f():    a, b, c = 3,2,1    return sys.getsizeof(a * 100 + b * 10 + c)def g():    a, b, c = 3,2,1    return sys.getsizeof(str(a) + str(b) + str(c))def f2():    a, b, c = 3,2,1    return a * 100 + b * 10 + cdef g2():    a, b, c = 3,2,1    return str(a) + str(b) + str(c)print min(timeit.repeat(f2))print min(timeit.repeat(g2))print f()print g()

结果

0.2967300415040.705047845842440

可以看出f()无论是从速度还是从内存占用都完胜g()

python 类型大小