Ich habe versucht herauszufinden, wie eine maximale Ganzzahl dargestellt werden kann, und ich habe gelesen, sie zu verwenden "sys.maxint"
. In Python 3 erhalte ich jedoch Folgendes, wenn ich es nenne:
AttributeError: module 'object' has no attribute 'maxint'
python
python-3.x
Ci3
quelle
quelle
Antworten:
http://docs.python.org/3.1/whatsnew/3.0.html#integers
quelle
Wie von anderen erwähnt, hat Python 3
int
keine maximale Größe. Wenn Sie jedoch nur etwas benötigen, das garantiert höher ist als jeder andereint
Wert, können Sie den Float-Wert für Infinity verwenden, den Sie erhalten könnenfloat("inf")
.quelle
Python 3 Ints haben kein Maximum.
Wenn Sie die maximale Größe eines int in C bestimmen möchten, wenn es auf die gleiche Weise wie Python kompiliert wurde, können Sie das struct-Modul verwenden, um Folgendes herauszufinden:
Wenn Sie neugierig auf die internen Implementierungsdetails von Python 3 int-Objekten sind, suchen Sie
sys.int_info
nach Details zu Bits pro Ziffer und Zifferngröße. Kein normales Programm sollte sich darum kümmern.quelle
Wenn Sie nach einer Zahl suchen, die größer ist als alle anderen:
Methode 1:
Methode 2:
Wenn Sie nach einer Zahl suchen, die kleiner als alle anderen ist:
Methode 1:
Methode 2:
Methode 1 funktioniert sowohl in Python2 als auch in Python3. Methode 2 funktioniert in Python3. Ich habe Methode 2 in Python2 nicht ausprobiert.
quelle
Python 3.0 hat kein sys.maxint mehr, da die Ints von Python 3 beliebig lang sind. Anstelle von sys.maxint hat es sys.maxsize; die maximale Größe einer positiven Größe size_t aka Py_ssize_t.
quelle
Eine Alternative ist
quelle