Python if
Du willst wissen, wie if
in Python funktioniert und was es mit if else in Python auf sich hat? Dann bist du hier und in unserem Video
genau richtig!
Inhaltsübersicht
Python if einfach erklärt
Mit einem if-Statement in Python gibst du an, was das Programm unter einer bestimmten Bedingung (engl. condition) tun soll. Hierzu verwendest du das Keyword if
:
x = 3
if x < 5:
print("x ist kleiner als 5")
Ausgabe:
x ist kleiner als 5
In diesem Beispiel überprüfst du, ob die Variable x kleiner als 5 ist. Falls („if“) das richtig ist, wird „x ist kleiner als 5“ ausgegeben. Ansonsten macht das Programm nichts. Weil 3 kleiner als 5 ist, wird im Beispiel „x ist kleiner als 5“ ausgegeben.
Wichtig! Vergiss bei if
in Python nicht den Doppelpunkt nach der if-Bedingung. Außerdem musst du die Zeile danach immer mit der Tab-Taste einrücken, sonst bekommst du eine Fehlermeldung.
Python if elif
Mit elif
gibst du eine weitere Bedingung an. Sie wird geprüft, falls die if-Bedingung falsch ist. elif
steht dabei für „else if“.
x = 8
if x < 5:
print("x ist kleiner als 5")
elif x > 5:
print("x ist größer als 5")
Ausgabe:
x ist größer als 5
Im Beispiel ist x = 8. Das ist nicht kleiner als 5. Die if-Bedingung (x < 5) ist also falsch. Deshalb geht das Programm weiter zur elif-Bedingung (x > 5). Die ist richtig. Dein Programm gibt dir also „x ist größer als 5“ aus.
Python if else
Mit else
legst du fest, was das Programm tut, falls alle Bedingungen davor falsch sind.
x = 5
if x < 5:
print("x ist kleiner als 5")
elif x > 5:
print("x ist größer als 5")
else:
print("x ist gleich 5")
Ausgabe:
x ist gleich 5
Hier ist x gleich 5. Die if-Bedingung und die elif-Bedingung sind also beide falsch. Deshalb wird das ausgeführt, was unter dem else
steht. Du siehst als Ausgabe „x ist gleich 5“.
Du kannst if else
in Python auch ohne elif
verwenden:
x = 5
if x < 5:
print("x ist kleiner als 5")
else:
print("x ist nicht kleiner als 5")
Ausgabe:
x ist nicht kleiner als 5
Verschiedene Vergleichsoperatoren
Du kannst in if-Bedingungen nicht nur < und > verwenden. Schau dir die wichtigsten Vergleichsoperatoren an:
Vergleichsoperator | Erklärung |
a == b | Ist a das Gleiche wie b? |
a != b | Ist a nicht das Gleiche wie b? |
a < b | Ist a kleiner als b? |
a <= b | Ist a kleiner oder gleich b? |
a > b | Ist a größer als b? |
a >= b | Ist a größer oder gleich b? |
Mit == oder != kannst du nicht nur Zahlen vergleichen, sondern zum Beispiel auch Wörter. Die Aussage „hello“ == „hello“ ist zum Beispiel richtig, die Aussage „hello“ == „hallo“ ist falsch.
Achtung! Verwechsle nicht „==“ mit „=“. Das „=“ verwendest du zum Definieren von Variablen. Das „==“ drückt hingegen eine Gleichheit aus.
Python if not
Du kannst auch verneinte Bedingungen verwenden. Schreibe einfach not direkt vor deine Bedingung. Der Code unter dem if wird dann aufgeführt, wenn die if-Bedingung falsch ist.
x = 8
if not x < 5:
print("x ist nicht kleiner als 5")
Ausgabe:
x ist nicht kleiner als 5
Hier ist x = 8. Das ist offensichtlich nicht kleiner als 5. Die if-Bedingung (x < 5) ist also falsch. Deshalb wird „x ist nicht kleiner als 5“ ausgegeben.
Python if and
Falls dein Programm mehrere Bedingungen erfüllen muss, kannst du das mit dem Befehl if ... and
in Python lösen. Der Code unter dem if
wird nur ausgeführt, wenn beide Bedingungen richtig sind.
x = 8
if x > 5 and x < 10:
print("x liegt zwischen 5 und 10")
Ausgabe:
x liegt zwischen 5 und 10
Python if or
Beim if ... or
in Python wird der Code unter dem if ausgeführt, wenn mindestens eine der Bedingungen richtig ist.
x = 8
if x < 0 or x > 5:
print("x liegt nicht zwischen 0 und 5")
Ausgabe:
x liegt nicht zwischen 0 und 5
Hier ist die erste Bedingung (x < 0) falsch, weil 8 nicht kleiner als 0 ist. Die zweite Bedingung (x > 5) ist aber richtig. Es ist also mindestens eine Bedingung richtig und die Ausgabe ist „x liegt nicht zwischen 0 und 5“.
Python inline if
Du kannst in einem normalen if-Statement in Python auch mehrere Befehle ausführen:
x = 3
if x < 5:
print("x ist kleiner als 5")
print("x ist eine einstellige Zahl")
Ausgabe:
x ist kleiner als 5
x ist eine einstellige Zahl
Falls du nur einen einzigen Befehl ausführen möchtest , kannst du die Kurzschreibweise (engl. short hand) benutzen. Hier steht das ganze if-statement in einer Zeile.
x = 3
if x < 5: print("x ist kleiner als 5")
Das funktioniert auch, wenn else dazukommt — allerdings nur, wenn jeweils nur eine Aktion ausgeführt wird. Hier schreibst du das if
aber nicht an den Anfang:
x = 3
print("x ist kleiner als 5") if x < 5 else print("x ist nicht kleiner als 5")
Du kannst sogar mehrere if-Statements in eine Zeile schreiben:
x = 3
print("x ist kleiner als 5") if x < 5 else print("x ist größer als 5") if x > 5 else print("x ist gleich 5")
Verschachtelte if-Statements
Es ist auch möglich, mehrere if-Statements ineinander zu verwenden (engl. nested if):
x = 3
if x > 0:
print("x ist eine positive Zahl")
if x > 5:
print("x ist größer als 5")
else:
print("x ist nicht größer als 5")
Ausgabe:
x ist eine positive Zahl
x ist nicht größer als 5
Weil x = 3 ist, ist die erste if-Bedingung (x > 0) richtig. Deshalb wird die Aussage „x ist eine positive Zahl“ ausgegeben und die verschachtelte if-Bedingung (x > 5) geprüft. Sie ist falsch. Das Programm geht also weiter zu else
und zeigt „x ist nicht größer als 5“.
Python if — häufigste Fragen
-
Was bedeutet elif in Python?
Elif verwendest du so ähnlich wie if. Der Code unter einer elif-Bedingung wird aber nur abgerufen, wenn die if-Bedingung davor falsch war.
-
Was bedeutet if else in Python?
Der Befehl if else in Python (deutsch: wenn sonst) ist eine sogenannte konditionelle Verzweigung. Je nachdem, welche Bedingung zu einer bestimmten Laufzeit erfüllt ist, werden unterschiedliche Code-Pfade ausgeführt. If else stellt damit eine grundlegende Kontrollstuktur dar.
for-Schleife
Prima, jetzt hast du die if-Anweisung verstanden! Besonders nützlich können if-Statements sein, wenn du sie mit einem for-Loop kombinierst. Schau dir gleich mal unser Video dazu an!