Respostas:
Para float
dar uma olhada em sys.float_info
:
>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)
Especificamente sys.float_info.max
:
>>> sys.float_info.max
1.7976931348623157e+308
Se isso não for grande o suficiente, sempre haverá um infinito positivo :
>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf
O long
tipo tem precisão ilimitada , então acho que você está limitado apenas pela memória disponível.
sys.float_info
está disponível a partir da v2.6. E a v2.3-5?
5e-324
inf
para todas as coisas python, e float_info.max
como uma solução alternativa quando o anterior não funciona, por exemplo, time.sleep(float("inf"))
não é permitido :(
sys.maxint não é o maior número inteiro suportado pelo python. É o maior número inteiro suportado pelo tipo inteiro regular do python.
long
.
sys.maxint
nem está definido no Python 3, é chamado sys.maxsize
, o que provavelmente será o preferido no Python 2 também.
sys.maxsize
(introduzido no Python 2.6) e sys.maxint
são duas coisas diferentes. O primeiro fornece o número máximo de objetos permitido em uma coleção (por exemplo, tamanho máximo de uma lista, ditado etc.) e corresponde a uma versão assinada do size_t
tipo C ; o segundo é o ponto, após o que o int
tipo muda para long
, e é o valor máximo de uma C long
. Em algumas plataformas, os dois valores são diferentes: por exemplo, no Windows de 64 bits, sys.maxsize
é 2**63-1
e sys.maxint
é 2**31-1
.
2**63-1
).
Se você estiver usando numpy , poderá usar o dtype ' float128 ' e obter um máximo de 10e + 4931
>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
sys.maxint
no Python 3.