Risposte:
Per float
dare un'occhiata a 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)
In particolare sys.float_info.max
:
>>> sys.float_info.max
1.7976931348623157e+308
Se questo non è abbastanza grande, c'è sempre l' infinito positivo :
>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf
Il long
tipo ha una precisione illimitata , quindi penso che tu sia limitato solo dalla memoria disponibile.
sys.float_info
sia disponibile a partire dalla v2.6. Che ne dici di v2.3-5?
5e-324
inf
per tutte le cose Python, e float_info.max
come soluzione alternativa quando il precedente non funziona, ad esempio time.sleep(float("inf"))
non è permesso :(
sys.maxint non è il numero intero più grande supportato da python. È il numero intero più grande supportato dal tipo intero normale di Python.
long
.
sys.maxint
non è nemmeno definito in Python 3, si chiama sys.maxsize
, il che probabilmente dovrebbe essere preferito anche in Python 2.
sys.maxsize
(introdotto in Python 2.6) e sys.maxint
sono due cose diverse. Il primo fornisce il numero massimo di oggetti consentiti in una raccolta (ad esempio, dimensione massima di un elenco, dict, ecc.) E corrisponde a una versione firmata del size_t
tipo C ; il secondo è il punto dopo che il int
tipo passa long
, e è il valore massimo di una C long
. Su alcune piattaforme i due valori sono diversi: ad esempio, su Windows a 64 bit, sys.maxsize
è 2**63-1
ed sys.maxint
è 2**31-1
.
2**63-1
).
Se stai usando numpy , puoi usare il tipo ' float128 ' e ottenere un float massimo di 10e + 4931
>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
sys.maxint
in Python 3.