[转载] python int类数据的内存大小

参考链接: Python int()

Python是全面向对象语言,和C,java在基本数据变量占用字节数上存在较大差异,主要原因来自于python 基本数据变量都是对象,具有更复杂的结构体,而且python2,python3,操作系统位数不同还有差异,可以利用 sys.getsizeof(x)函数查看占用的字节数,下面是python3.5,windows 64位 内存占用情况,可以看出变量的结构体占用和值的占用: 

import sys

 

a1 = 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值