首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中变量的内存大小

Python中变量的内存大小
EN

Stack Overflow用户
提问于 2013-01-17 11:59:23
回答 2查看 139.9K关注 0票数 83

我正在编写Python代码来做一些大的数字计算,并且非常关心计算中使用的内存。

因此,我想计算每个变量的每一位数。

例如,我有一个变量x,它是一个很大的数字,并且想要计算表示x的位数。

下面的代码显然是无用的:

代码语言:javascript
复制
x=2**1000
len(x)

因此,我转而使用以下代码:

代码语言:javascript
复制
x=2**1000
len(repr(x))

变量x为(十进制)为:

10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

但上面的代码返回303

上面的长长序列的长度是302,所以我认为303应该只与字符串长度有关。

所以,我的原始问题来了:

如何知道变量x的内存大小?

还有一件事;在C/C++语言中,如果我定义

代码语言:javascript
复制
int z=1;

这意味着有4个bytes= 32位被分配给z,并且这些位被排列为00..001(310和1)。

这里,我的变量x很大,我不知道它是否遵循相同的内存分配规则?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14372006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档