繁体   English   中英

Python变量内存管理

[英]Python variable memory management

我只是写了这个原始脚本:

from sys import getsizeof as g
x = 0
s = ''
while s != 'q':
    x = (x << 8) + 0xff
    print(str(x) + "    [" + str(g(x)) + "]")
    s = input("Enter to proceed, 'q' to quit  ")

输出如下-令我惊讶的是:

255                    [28]
65535                  [28]
16777215               [28]
4294967295             [32]
1099511627775          [32]
281474976710655        [32]
72057594037927935      [32]
18446744073709551615   [36]

等等。 我的观点是:似乎变量x具有某种“开销”,大小为25个字节。 这是从哪里来的? 在此先感谢您为我提供的任何帮助。

python int是一个对象,因此开销很小也就不足为奇了。 如果这种开销对您开始变得有意义,那么这意味着您正在处理大量的int集合,这向我表明numpy库可能是您应该考虑的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM