Max Int in Python
In diesem Tutorial wird das Konzept des maximalen Integer-Wertes in verschiedenen Versionen von Python besprochen und wie wir ihn erhalten können.
In Python 2 sind eine ganze Zahl und eine lange ganze Zahl unterschiedliche Datentypen. Ein Integer hat eine Grenze von 231 - 1, und wenn der Wert diese Grenze überschreitet, wird der Datentyp der Variablen automatisch auf long umgeschaltet, und es wird keine Ausnahme ausgelöst. Sobald der Datentyp der Variablen auf long umgestellt ist, kann sie so groß sein, wie der Rechner speichern kann, d. h. es gibt in Python 2 keine explizite Grenze für long.
In Python 3 haben wir nicht die getrennten Datentypen integer und long, was bedeutet, dass der variable Datentyp nicht umgeschaltet wird, nachdem das Limit von 231 - 1 überschritten wurde. Kurz gesagt, der Integer in Python 3 funktioniert genauso wie der Long in Python 2 und kann einen so großen Wert haben, wie die Maschine speichern kann.
Maximalen Integer-Wert in Python mit dem sys
-Modul ermitteln
Wie wir oben besprochen haben, gibt es in Python 3 keine Grenze oder einen Maximalwert für eine Ganzzahl, aber in Python 2 gibt es eine Grenze für Integer, nach der der Datentyp der Variablen zu einem Long-Datentyp wechselt.
Wir können den maximalen Integer-Wert in Python 2 erhalten, indem wir sys.maxint
verwenden, gleich 231 - 1. Der folgende Beispielcode demonstriert, wie man sys.maxint
verwendet, um den maximalen Integer-Wert in Python 2 zu erhalten:
import sys
print(sys.maxint)
Ausgabe:
9223372036854775807
In Python 3 gibt es sys.maxint
nicht, da es keinen Grenz- oder Maximalwert für einen Integer-Datentyp gibt. Aber wir können die sys.maxsize
verwenden, um den maximalen Wert des Typs Py_ssize_t
in Python 2 und 3 zu erhalten. Es ist auch die maximale Größe, die Listen, Strings, Dictionaries und ähnliche Container-Typen haben können.
Der folgende Beispielcode demonstriert, wie man den Maximalwert für Containertypen in Python ermittelt.
import sys
print(sys.maxsize)
Falls wir den Maximal- oder Minimalwert der Ganzzahl benötigen, um ihn in der Bedingungsprüfung zu verwenden, können wir float('inf')
und float('-inf')
verwenden, um die positive und negative Unendlichkeit in Python zu erhalten.
Beispiel-Code:
print(float("inf"))
print(float("-inf"))
Ausgabe:
inf
-inf