提问者:小点点

什么是sys. maxint在Python3?


我一直在尝试找出如何表示最大整数,并且我已经阅读了使用"sys. maxint"。然而,在Python3中,当我调用它时,我得到:

AttributeError: module 'object' has no attribute 'maxint'

共3个答案

匿名用户

sys. maxint常量被删除,因为整数的值不再有限制。但是,sys.maxsize可以用作比任何实际列表或字符串索引都大的整数。它符合实现的“自然”整数大小,并且通常与同一平台上以前版本中的sys.maxint相同(假设构建选项相同)。

https://docs.python.org/3/whatsnew/3.0.html#integers

匿名用户

正如其他人指出的,Python3的int没有最大大小,但是如果你只需要保证高于任何其他int值的东西,那么你可以使用Infinity的浮点值,你可以通过flot("inf")获得。

在3.5以后的Python中,您可以使用数学. inf

注意:根据ely的评论,这可能会影响代码的效率,因此它可能不是最佳解决方案。

匿名用户

如果您正在寻找一个比所有其他数字都大的数字:

方法一:

float('inf')

方法二:

import sys
max = sys.maxsize

如果您正在寻找一个比所有其他数字都小的数字:

方法一:

float('-inf')

方法二:

import sys
min = -sys.maxsize - 1

方法1适用于Python2和Python3。方法2适用于Python3。我没有在Python2中尝试过方法2。