In Python gibt es verschiedene Operatoren, die in allen Berechnungen und in der Syntax verwendet werden. Unter diesen gibt es einen Booleschen Operator als Operator, der häufig hauptsächlich in bedingten Ausdrücken von if-Anweisungen verwendet wird. Der Boolesche Operator, auch als logischer Operator bezeichnet, wird beim Schreiben komplexer bedingter Ausdrücke in der bedingten Verzweigung von if-Anweisungen verwendet.
Dieses Mal werde ich erklären, wie der Boolesche Operator verwendet wird.
Inhaltsverzeichnis 1 [Über und](Über ## und) 2 [Über oder](Über ## oder) 3 [Über nicht](Über ## nicht) 4 [Kombinieren und oder oder nicht](kombinieren Sie ## und oder oder nicht) 5 Boolesche Operatorpriorität (## Boolesche Operatorpriorität)
und ist ein boolescher Operator, der auch als logisches Produkt bezeichnet wird. Die grundlegende Syntax von und lautet wie folgt.
Bedingter Ausdruck 1 und bedingter Ausdruck 2
und nimmt bedingte Ausdrücke links und rechts und gibt nur dann true zurück, wenn das Ergebnis beider bedingter Ausdrücke True ist. Wenn beides falsch ist, wird false zurückgegeben. Mit und können Sie eine kurze if-Anweisung für komplexe Bedingungen schreiben.
Angenommen, Sie möchten nur Zahlen von 100 bis weniger als 200 aus einer Zahlenliste abrufen. Wenn und nicht verwendet wird, lautet die if-Anweisung wie folgt.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if(number >= 100):
if(number < 200):
print(number)
Ausführungsergebnis
125 167
Dieses Beispiel hat eine kurze Liste und ist nicht so kompliziert, verwendet aber trotzdem die if-Anweisung zweimal. Je komplexer die Bedingungen sind, desto mehr if-Anweisungen und desto schwieriger ist es, den Code zu lesen. Wenn Sie und in einem solchen Fall verwenden, können Sie es sehr kurz schreiben.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if(number >= 100 and number < 200):
print(number)
Ausführungsergebnis
125 167
In diesem Fall und gibt True nur zurück, wenn die Zahl 100 oder mehr und weniger als 200 beträgt und der Inhalt der if-Anweisung ausgeführt wird. Mit und wurde die if-Anweisung um eins reduziert und der Code aktualisiert.
oder ist ein boolescher Operator, auch als logische Summe bekannt. Die grundlegende Syntax von oder lautet wie folgt.
Bedingter Ausdruck 1 oder bedingter Ausdruck 2
Und bedeutet, dass der gesamte Ausdruck nur dann wahr ist, wenn beide bedingten Ausdrücke wahr sind, oder dass der gesamte Ausdruck wahr ist, wenn einer der beiden bedingten Ausdrücke wahr ist.
Im vorherigen Beispiel wird es verwendet, wenn Elemente mit den Nummern 100 oder weniger oder 200 oder mehr angezeigt werden.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if(number < 100 or number >= 200):
print(number)
Ausführungsergebnis
30 256 45 401
Wenn in diesem Beispiel entweder die Zahl kleiner als 100 oder die Zahl 200 oder mehr True ist, ist der gesamte Ausdruck True und der Inhalt der if-Anweisung wird ausgeführt.
not ist ein boolescher Operator, der auch als Negation bezeichnet wird. Die grundlegende Syntax von not lautet wie folgt.
kein bedingter Ausdruck
bedeutet nicht, dass der gesamte Ausdruck False ist, wenn der bedingte Ausdruck True ist. Im vorherigen Beispiel wird es verwendet, wenn nur ungerade Zahlen ausgegeben werden.
for number in list:
if(not number % 2 == 0):
print(number)
Ausführungsergebnis
125 167 45 401
Bisher haben wir drei Arten von Booleschen Operatoren eingeführt, und, oder, und nicht, aber Sie können diese Operatoren auch kombinieren, um komplexere bedingte Ausdrücke zu erstellen.
Beispielsweise lautet der bedingte Ausdruck, dass die Zahl kleiner als 300 ist und nicht durch 3 teilbar ist, wie folgt.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if(number < 300 and not number % 3 == 0):
print(number)
Ausführungsergebnis
256 125 167
Python-Sprachoperatoren haben Priorität. Wenn beispielsweise + (Summe) und * (Produkt) gleichzeitig vorhanden sind, hat * Priorität.
answer = 2 * 3 + 7
print(answer)
Ausführungsergebnis
13
Boolesche Operatoren haben ähnliche Prioritäten. Unter den Booleschen Operatoren hat nicht die höchste Priorität, gefolgt von und, oder. Wenn Sie bei Verwendung einer Kombination von Booleschen Operatoren die Priorität nicht beachten, funktioniert sie möglicherweise nicht wie erwartet.
Angenommen, Sie möchten "weniger als 100 oder mehr als 200" und "gerade" abrufen.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if(number < 100 or number >= 200 and number % 2 == 0):
print(number)
Ausführungsergebnis
30 256 45
Der bedingte Ausdruck scheint auf den ersten Blick korrekt zu sein, aber aus irgendeinem Grund wird auch 45 ausgegeben, was keine gerade Zahl ist. Dies liegt daran, dass und hat eine höhere Priorität als oder, daher ändert sich der bedingte Ausdruck in "eine Zahl größer oder gleich 200 und sogar oder kleiner als 100". Um diesen Ausdruck richtig zu machen, verwenden Sie (), um die Priorität zu ändern.
list = [30, 256, 125, 167, 45, 401]
for number in list:
if( (number < 100 or number >= 200) and number % 2 == 0):
print(number)
Ausführungsergebnis
30 256
Recommended Posts