我一直试图找出如何表示最大整数,并且我已阅读使用"sys.maxint"
。但是,在Python 3中,当我调用它时,我得到:
AttributeError: module 'object' has no attribute 'maxint'
答案 0 :(得分:127)
删除了sys.maxint常量,因为不再存在限制 到整数的值。但是,sys.maxsize可以用作 大于任何实际列表或字符串索引的整数。它符合 实现的“自然”整数大小通常是相同的 作为同一平台上以前版本中的sys.maxint(假设为 相同的构建选项)。
答案 1 :(得分:60)
正如其他人所指出的,Python 3的int
没有最大尺寸,但是如果你只需要保证比其他任何int
更高的东西值,然后您可以使用Infinity的浮点值,您可以使用float("inf")
获得。
答案 2 :(得分:20)
Python 3整数没有最大值。
如果您的目的是在编译时以与Python相同的方式确定C中int的最大大小,则可以使用struct模块找出:
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
如果您对Python 3 int对象的内部实现细节感到好奇,请查看sys.int_info
以获取每位数字位数和数字大小详细信息。没有正常的程序应该关心这些。
答案 3 :(得分:16)
Python 3对int没有限制。
但是你可以使用 holder.getInfos().setText(posts.get(position).toString());
holder.getPp().setProfileId(posts.get(position).getProfile());
holder.getLike().setImageResource(R.drawable.ic_action_like_inactive);
holder.getLike().setOnClickListener(new OnClickListener() {
public void onClick(View v) {
postLiked = !postLiked; holder.getLike().setImageResource(R.drawable.ic_action_like);
}
});
作为比任何实际列表或字符串索引更大的整数。
答案 4 :(得分:6)
通过使用sys
模块
import sys
INT_MAX = sys.maxsize
INT_MIN = -sys.maxsize-1
print(INT_MAX,INT_MIN)
答案 5 :(得分:2)
Python 3.0不再具有sys.maxint,因为Python 3的int是 任意长度。而不是sys.maxint,它有sys.maxsize;最大值 正尺寸size_t的大小,又名Py_ssize_t。
答案 6 :(得分:2)
Python3不支持sys.maxint,相反,您可以使用:
sys.maxsize
答案 7 :(得分:2)
如果您查找的数字大于所有其他数字:
方法1:
float('inf')
方法2:
import sys
max = sys.maxsize
如果您查找的数字小于所有其他字符
方法1:
float('-inf')
方法2:
import sys
max = -sys.maxsize - 1
方法1在Python2和Python3中均有效。 方法2在Python3中有效。我没有在Python2中尝试方法2。
答案 8 :(得分:0)
一种替代方法是
import math
... math.inf ...