我一直试图找出如何表示一个最大整数,我已经阅读使用“sys.maxint”。然而,在Python 3中,当我调用它时,我得到:
AttributeError: module 'object' has no attribute 'maxint'
我一直试图找出如何表示一个最大整数,我已经阅读使用“sys.maxint”。然而,在Python 3中,当我调用它时,我得到:
AttributeError: module 'object' has no attribute 'maxint'
sys。Maxint常量被移除,因为不再对整数的值有限制。然而,系统。Maxsize可以用作比任何实际列表或字符串索引都大的整数。它符合实现的“自然”整数大小,通常与sys相同。在同一平台上的以前版本中的Maxint(假设有相同的构建选项)。
https://docs.python.org/3/whatsnew/3.0.html#integers
Python 3 int没有最大值。
如果你的目的是确定C语言中int的最大大小,当以与Python相同的方式编译时,你可以使用struct模块来查找:
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
如果你对Python 3 int对象的内部实现细节感到好奇,请查看sys.int_info以获得每位数和位数大小的详细信息。正常的程序不应该关心这些。
正如其他人指出的那样,Python 3的int没有最大大小,但如果你只是需要一个保证大于任何其他int值的值,那么你可以使用float("inf")来获得无穷大的浮点值。
在Python 3.5以后,你可以使用math.inf。
注意:根据ely的注释,这可能会影响代码的效率,所以它可能不是最好的解决方案。
Python 3.0没有sys。因为Python 3的int类型是of 任意长度的字符串。而不是sys。Maxint有sys.maxsize;的最大 size_t即Py_ssize_t的正大小。
如果你想找一个比其他数都大的数:
方法1:
float('inf')
方法2:
import sys
max = sys.maxsize
如果你要找一个比其他数都小的数:
方法1:
float('-inf')
方法2:
import sys
min = -sys.maxsize - 1
方法1在Python2和Python3中都可以工作。方法2适用于Python3。我没有尝试过Python2中的方法2。