logo

sys.maxint in Python

Beim Programmieren maxint/INT_MAX bezeichnet den höchsten Wert, der durch eine Ganzzahl dargestellt werden kann. In einigen Fällen müssen wir beim Programmieren möglicherweise einen Wert zuweisen, der größer als jeder andere ganzzahlige Wert ist. Normalerweise vergibt man solche Werte manuell. Betrachten Sie beispielsweise eine Liste von ganzen Zahlen, bei der der Mindestwert mithilfe von a ermittelt werden muss for-Schleife .

Python








# initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value manually> curr_min>=> 999999> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))>



>

>

Ausgabe

The minimum value is -22>

Im obigen Ansatz gehen wir davon aus 999999 ist der maximal mögliche Wert in unserer Liste und vergleichen Sie ihn mit anderen Elementen, um ihn zu aktualisieren, wenn ein kleinerer Wert gefunden wird.

sys-Modul in Python

Dieses Modul dient der Interaktion mit dem Interpreter und dem Zugriff auf die vom Interpreter verwalteten Variablen. Damit können Manipulationen in der Laufzeitumgebung durchgeführt werden. Dieses muss wie andere Pakete importiert werden, um die darin enthaltenen Funktionen nutzen zu können. Pythons sys-Modul Bietet eine Vielzahl von Funktionen und Konstanten, darunter die Konstante maxint , mit dem ein positiver Ganzzahlwert festgelegt werden kann, der garantiert größer als jede andere Ganzzahl ist. Schauen Sie sich das Beispiel unten an.

Python




# import the module> import> sys> > # initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value with> # maxint constant> curr_min>=> sys.maxint> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser> ># than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))>

>

>

Ausgabe

The minimum value is -22>

Anstatt im obigen Programm manuell einen größeren Wert zuzuweisen, sys.maxint wird eingesetzt. Diese Konstante wird in Python Version 2.x unterstützt. Der durch die Konstante angegebene Wert kann wie folgt berechnet werden:

maxint = 231– 1 (in 32-Bit-Umgebung)

maxint = 263– 1 (in 64-Bit-Umgebung)

In Python 2 , das Hinzufügen von 1 zum Maxint ergibt den höchstmöglichen Wert lange int und in Python 2.7 , subtrahiert man 1 von maxint, erhält man das kleinstmöglicher Wert für eine Ganzzahl .

Python




# import the module> import> sys> > max_int>=> sys.maxint> min_int>=> sys.maxint>->1> long_int>=> sys.maxint>+>1> > print>(>'maxint :'>+>str>(max_int)>+>' - '>+>str>(>type>(max_int)))> print>(>'maxint - 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(min_int)))> print>(>'maxint + 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(long_int)))>

>

>

a b c zahlen
Ausgabe

maxint :9223372036854775807 - maxint - 1 :9223372036854775807 - maxint + 1 :9223372036854775807 ->

Diese Konstante wurde aus entfernt Python 3 , da Ganzzahlen in dieser Version als beliebige Längen gelten. Wenn Sie diese Konstante in Python 3 verwenden, erhalten Sie die folgende Fehlermeldung. Betrachten Sie das gleiche Beispiel, bei dem das Mindestwertelement aus einer Liste ermittelt werden muss.

Python3




import> sys> > # initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value with maxint constant> curr_min>=> sys.maxint> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))>

>

>

Ausgabe :

AttributeError: module 'sys' has no attribute 'maxint'>

Diese Konstante wurde entfernt, da es für den Wert ganzer Zahlen keine Begrenzung mehr gab. In Python 3, Eine ähnliche Konstante wurde eingeführt, nämlich sys.maxsize . Dies gibt den höchstmöglichen ganzzahligen Wert des Variablentyps zurück Py_ssize_t Außerdem gibt es die Zeigergröße der Plattform an. Diese maximale Größe soll die Größe verschiedener Datenstrukturen wie Strings und Listen begrenzen. Eine weitere zu beachtende Sache ist, dass in Python 3 die int Und lange int werden zu einem zusammengefasst. Schauen Sie sich zum besseren Verständnis das folgende Beispiel an.

Python3




# import the module> import> sys> > # using sys.maxsize> max_int>=> sys.maxsize> min_int>=> sys.maxsize>->1> long_int>=> sys.maxsize>+>1> > print>(>'maxint :'>+>str>(max_int)>+>' - '>+>str>(>type>(max_int)))> print>(>'maxint - 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(min_int)))> > # the data type is represented as int> print>(>'maxint + 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(long_int)))>

>

>

Ausgabe

maxint :9223372036854775807 - maxint - 1 :9223372036854775807 - maxint + 1 :9223372036854775807 ->