Antworten:
Für float
einen Blick auf 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)
Insbesondere sys.float_info.max
:
>>> sys.float_info.max
1.7976931348623157e+308
Wenn das nicht groß genug ist, gibt es immer eine positive Unendlichkeit :
>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf
Der long
Typ hat eine unbegrenzte Genauigkeit , daher denke ich, dass Sie nur durch den verfügbaren Speicher begrenzt sind.
sys.float_info
ab Version 2.6 verfügbar zu sein. Wie wäre es mit v2.3-5?
5e-324
inf
für alle Dinge Python, und float_info.max
als Problemumgehung, wenn das frühere nicht funktioniert, ist zum Beispiel time.sleep(float("inf"))
nicht erlaubt :(
sys.maxint ist nicht die größte von Python unterstützte Ganzzahl. Es ist die größte Ganzzahl, die vom regulären Ganzzahltyp von Python unterstützt wird.
long
.
sys.maxint
ist nicht einmal in Python 3 definiert, sondern heißt sys.maxsize
, was wahrscheinlich auch in Python 2 zu bevorzugen ist.
sys.maxsize
(eingeführt in Python 2.6) und sys.maxint
sind zwei verschiedene Dinge. Die erste gibt die maximal zulässige Anzahl von Objekten in einer Sammlung an (z. B. maximale Größe einer Liste, eines Diktats usw.) und entspricht einer signierten Version des size_t
Typs C ; der zweite ist der Punkt , nach dem der int
Typ Schalter auf long
, und ist der höchste Wert eines C long
. Auf einigen Plattformen unterscheiden sich die beiden Werte: z. B. unter 64-Bit-Windows sys.maxsize
ist 2**63-1
und sys.maxint
ist 2**31-1
.
2**63-1
).
Wenn Sie numpy verwenden , können Sie den Typ ' float128 ' verwenden und einen maximalen float von 10e + 4931 erhalten
>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
sys.maxint
In Python 3 gibt es keine .