我使用sys.maxsize
检查了Python持有的整数的最大大小,并返回了9223372036854775807
。
那为什么我仍然可以存储大于此范围的值?
存储整数需要多少字节,Python根据整数的大小改变字节数?
我正在使用Python 3.6
答案 0 :(得分:4)
如果您检查sys.maxsize
的{{3}},则会看到
sys.maxsize
给出最大值的整数可以是Py_ssize_t
类型的变量。在32位平台上通常为2**31 - 1
,在64位平台上为2**63 - 1
。
Python int
中没有任何内容!它讨论的是Py_ssize_t
,这是一个内部C API,与使用Python int
没有实际意义。
Python int
使用任意精度表示,它将使用更多字节的内存来表示更大的整数。它们不受Py_ssize_t
s。