本文主要是介绍python int类数据的内存大小,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python是全面向对象语言,和C,java在基本数据变量占用字节数上存在较大差异,主要原因来自于python 基本数据变量都是对象,具有更复杂的结构体,而且python2,python3,操作系统位数不同还有差异,可以利用 sys.getsizeof(x)函数查看占用的字节数,下面是python3.5,windows 64位 内存占用情况,可以看出变量的结构体占用和值的占用:
import sysa1 = 0
a2 = 1
a3 = 100
a4 = [100,0]
a5 = []
print("a1,0",sys.getsizeof(a1))
print("a2,1",sys.getsizeof(a2))
print("a3,100",sys.getsizeof(a3))
print("a4,[100,0]",sys.getsizeof(a4))
print("a5,[]",sys.getsizeof(a5))import numpy as np
print("--------------------------------numpy")
b1 = np.array([])
b2 = np.array([100,0])
b3 = b2.astype(np.int8)
b4 = b2.astype(np.int16)
b5 = b2.astype(np.int32)
print("b1,[]",sys.getsizeof(b1))
print("b2,[100,0]",sys.getsizeof(b2))
print("b3,np.int8",sys.getsizeof(b3))
print("b4,np.int16",sys.getsizeof(b4))
print("b5,np.int32",sys.getsizeof(b5))# a1,0 24
# a2,1 28
# a3,100 28
# a4,[100,0] 80
# a5,[] 64
# --------------------------------numpy
# b1,[] 96
# b2,[100,0] 104
# b3,np.int8 98
# b4,np.int16 100
# b5,np.int32 104
这篇关于python int类数据的内存大小的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!