在python中变量有多大?

Pol*_*Pol 0 python variables

我从SQL服务器获得Python程序的响应.这种反应有多大?什么是最大值?它可以达到约100 mb?

Mat*_*hen 5

在系统内存允许的情况下,没有理由不能在 Python 中保存 100 MB 的数据。但您应该尝试使用迭代器,而不是将整个结果集读入列表中。


Nic*_*ght 5

请参阅sys.maxsize:http://docs.python.org/library/sys.html

平台的Py_ssize_t类型支持的最大正整数,因此最大大小的列表,字符串,dicts和许多其他容器都可以.

在我的MacBook Pro上使用64位CPython构建,它非常明智地为2 63 -1字节:

>>> import sys
>>> sys.maxsize
9223372036854775807
>>> 
Run Code Online (Sandbox Code Playgroud)

在我的32位Linux机器上,它是2 ^ 31 -1:

>>> import sys
>>> sys.maxsize
2147483647
>>> 
Run Code Online (Sandbox Code Playgroud)

当然,在实践中,你不太可能真正使用这么大的对象,但是你可能会遇到严重的实际问题(例如,内存不足或永远加载/保存对象在达到理论极限之前.