sys.float_info
。>>> import sys
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308,
min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53,
epsilon=2.220446049250313e-16, radix=2, rounds=1)
具体来说,sys.float_info.max
:
>>> sys.float_info.max
1.7976931348623157e+308
如果这还不够大,总还有正无穷:
>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf
int
的精度是无限的,所以它只受可用内存的限制。
sys.float_info
是从 v2.6 开始提供的。那么 v2.3-5 呢? - Aleksei Fedotov5e-324
。 - Bob Steininf
适用于所有 Python 相关事物,而 float_info.max
则可作为一种解决方法,例如 time.sleep(float("inf"))
是不被允许的 :( - Dima Tisneksys.maxsize
(以前是sys.maxint
)并不是Python支持的最大整数。它是Python常规整数类型所支持的最大整数。
sys.maxint
在Python 3中已经不存在了,现在被称为sys.maxsize
。在Python 2中,也应该使用sys.maxsize
作为首选。 - Scott Griffithssys.maxsize
(在Python 2.6中引入)和 sys.maxint
是两个不同的概念。前者给出了一个集合中允许存在的最大对象数量(例如列表、字典等的最大大小),对应于C语言的带符号 size_t
类型;后者是 int
类型转换为 long
类型的临界点,是C语言的 long
类型的最大值。在某些平台上,这两个值是不同的:例如,在64位Windows上,sys.maxsize
是 2**63-1
,而 sys.maxint
是 2**31-1
。 - Mark Dickinson2 ** 63-1
)。 - Scott Griffiths如果您正在使用numpy,可以使用dtype'float128',并获得最大浮点数10e+4931
>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
在Python 3中,没有 sys.maxint
,而是有一个 sys.maxsize
>>> sys.maxsize
2147483647
这并不意味着最大的int值被限制在20亿以内! 它意味着包含整数的对象的大小有一个最大值,为20亿字节。即一个非常非常大的数字。
对于float
,请查看sys.float_info
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
具体来说,sys.float_info.max
是指浮点数的最大值。
>>> sys.float_info.max
1.7976931348623157e+308
sys.maxint
。 - James McCorrie