Python Bedingte Anweisungen: IF…Else, ELIF und Switch Case
⚡ Intelligente Zusammenfassung
Python Bedingte Anweisungen steuern den Programmablauf, indem sie bestimmte Codeblöcke nur dann ausführen, wenn boolesche Ausdrücke als wahr ausgewertet werden. Dazu gehören if, else, elif, verschachtelte if-Anweisungen, der ternäre Operator und die Mustererkennung für eine saubere, entscheidungsorientierte Logik.

Was sind bedingte Anweisungen in Python?
Bedingte Anweisungen in Python Je nachdem, ob eine bestimmte boolesche Bedingung als wahr oder falsch ausgewertet wird, werden unterschiedliche Berechnungen oder Aktionen durchgeführt. Dadurch kann ein Programm Entscheidungen treffen und unterschiedliche Pfade verfolgen, anstatt jede Zeile nacheinander auszuführen. PythonBedingte Anweisungen werden von der if Die if-Anweisung und ihre Begleitformen: else, elif und verschachtelte if-Anweisungen.
Was ist Python If-Anweisung?
Das Python if-Anweisung wird für Entscheidungsoperationen verwendet. Es enthält einen Codeblock, der nur ausgeführt wird, wenn die in der if-Anweisung angegebene Bedingung wahr ist. Ist die Bedingung falsch, wird stattdessen die optionale else-Anweisung ausgeführt, die den Code für den else-Fall enthält. Wenn Sie eine Aktion ausführen möchten, während eine andere Bedingung nicht wahr ist, verwenden Sie die if-Anweisung. Python if-else-Anweisung.
Python Syntax der if-Anweisung:
if expression:
statement
else:
statement
Python if…else Flussdiagramm
Das obige Flussdiagramm zeigt den Ablauf einer if-else-Anweisung. Betrachten wir ein Beispiel. Python if-else-Anweisung in Aktion:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linie 3: Wir definieren zwei Variablen x, y = 2, 8.
- Code Linie 4: Die if-Anweisung prüft die Bedingung x < y, die richtig in diesem Fall.
- Code Linie 5: Die Variable st ist auf „x ist kleiner als y“ gesetzt.
- Code Linie 6: Die Zeile print(st) gibt den Wert von st aus, der „x ist kleiner als y“ lautet.
Was passiert, wenn die „wenn“-Bedingung nicht erfüllt ist?
Aufbauend auf dem vorherigen Beispiel wollen wir sehen, was passiert, wenn die if-Bedingung in Python ist nicht erfüllt. Wenn die Bedingung falsch ist und kein else-Zweig existiert, wird der eingerückte Code vollständig übersprungen.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linie 3: Wir definieren zwei Variablen x, y = 8, 4.
- Code Linie 4: Die if-Anweisung prüft die Bedingung x < y, die falsch in diesem Fall.
- Code Linie 5: Die Variable st ist NICHT auf „x ist kleiner als y“ gesetzt.
- Code Linie 6: Die Zeile print(st) versucht, eine Variable auszugeben, die nie deklariert wurde, Python wirft ein NameFehler.
Wie man die „else“-Bedingung verwendet
Um den oben genannten Fehler zu vermeiden, können Sie eine else-Bedingung hinzufügen. Die else-Bedingung wird verwendet, wenn eine Anweisung anhand einer anderen beurteilt werden muss. Wenn eine Bedingung nicht zutrifft, bietet der else-Block einen alternativen Pfad, sodass das Programm dennoch ein Ergebnis liefert.
Ejemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linie 3: Wir definieren zwei Variablen x, y = 8, 4.
- Code Linie 4: Die if-Anweisung prüft die Bedingung x < y, die falsch in diesem Fall.
- Code Linie 6: Der Programmablauf geht zur Else-Bedingung.
- Code Linie 7: Die Variable st ist auf „x ist“ gesetzt. mehr als du.“
- Code Linie 8: Die Zeile print(st) gibt den Wert von st aus, der „x ist größer als y“ lautet.
Wenn die „else“-Bedingung nicht funktioniert
Die else-Bedingung liefert nicht immer das gewünschte Ergebnis. Bei einem Fehler in der Programmlogik kann sie eine falsche Ausgabe erzeugen. Dies tritt üblicherweise auf, wenn mehr als zwei Anweisungen oder Bedingungen in einem Programm verknüpft werden müssen. Ein Beispiel verdeutlicht dieses Konzept.
Hier sind beide Variablen gleich (8, 8), dennoch lautet die Programmausgabe: „x ist größer als y.“ welches ist FALSCHDies geschieht, weil das Programm die erste Bedingung (die if-Bedingung) prüft und im Fehlerfall standardmäßig die zweite Bedingung (die else-Bedingung) ausgibt. Im nächsten Schritt sehen wir, wie dieser Fehler behoben werden kann.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Wie man die „elif“-Bedingung verwendet
Um den vorherigen Fehler der else-Bedingung zu korrigieren, können wir die elif Mit der `elif`-Bedingung weisen Sie das Programm an, eine dritte Möglichkeit zu prüfen, wenn die erste Bedingung nicht zutrifft. Sie können mehrere `elif`-Bedingungen verketten, um vierte, fünfte und weitere Möglichkeiten in Ihrem Code zu prüfen.
Ejemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linie 3: Wir definieren zwei Variablen x, y = 8, 8.
- Code Linie 4: Die if-Anweisung prüft die Bedingung x < y, die falsch in diesem Fall.
- Code Linie 6: Der Programmablauf springt zur elif-Bedingung. Dort wird geprüft, ob x == y gilt, was der Fall ist.
- Code Linie 7: Die Variable st ist auf „x ist“ gesetzt. wie y. "
- Code Linie 10: Die Programmsteuerung verlässt die if-Anweisung (sie erreicht die else-Anweisung nicht) und gibt st aus. Die Ausgabe lautet „x ist gleich y“, was korrekt ist.
Wie man eine bedingte Anweisung mit minimalem Aufwand ausführt Code
Jetzt, da Sie vollständige if-elif-else-Blöcke schreiben können, Python ermöglicht es Ihnen, eine einfache Bedingung in einer einzigen Zeile zusammenzufassen. Anstatt für jeden Zweig separaten Code zu schreiben, können Sie eine solche Funktion verwenden. ternärer (bedingter) Ausdruck.
Syntax:
value_if_true if condition else value_if_false
Ejemplo:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Linie 2: Wir definieren zwei Variablen x, y = 10, 8.
- Code Linie 3: Die Variable st wird auf „x ist kleiner als y“ gesetzt, wenn x < y; andernfalls wird sie auf „x ist größer oder gleich y“ gesetzt. Da x > y hier, wird st zum zweiten Wert.
- Code Linie 4: Gibt den Wert von st aus und liefert die korrekte Ausgabe.
Python Verschachtelte if-Anweisung
Eine verschachtelte if-Anweisung platziert eine if-Anweisung innerhalb einer anderen, was nützlich ist, wenn eine Entscheidung von einer zweiten Bedingung abhängt. Das folgende Beispiel veranschaulicht eine verschachtelte if-Anweisung in Python das Schiff berechnetping Die Kosten richten sich nach Land und Bestellwert.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Entfernen Sie die Kommentarzeichen in Zeile 2 des obigen Codes, kommentieren Sie Zeile 3 aus und führen Sie den Code erneut aus, um zu sehen, wie sich die Ausgabe für ein anderes Land ändert.
Switch Case-Anweisung in Python
Was ist eine Switch-Anweisung?
Eine Switch-Anweisung ist eine mehrstufige Verzweigungsanweisung, die den Wert einer Variablen mit den in Case-Anweisungen angegebenen Werten vergleicht. Seit vielen Jahren ist die Python Da die Sprache keine Switch-Anweisung besaß, implementierten die Entwickler dasselbe Verhalten mit Python Wörterbuch Karteping.
Beispiel mit Wörterbuchzuordnungping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Switch Case With Match (Python 3.10 und Later)
Da Python 3.10 (veröffentlicht im Oktober 2021), Python bietet eine native Groß-/Kleinschreibung beachten Diese Aussage wird als strukturelles Mustervergleichsmodell bezeichnet. Sie bietet eine saubere, lesbare Alternative zu langen elif-Ketten und dem oben gezeigten Wörterbuchansatz.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Der Unterstrich (_) fungiert als Standardfall und entspricht jedem Wert, der von den vorherigen Fällen nicht behandelt wurde, genau wie der Standardfall in einer herkömmlichen Switch-Anweisung.
if vs. elif vs. else: Kurzer Vergleich
Nutzen Sie diesen Vergleich, um zu entscheiden, welche Bedingungsstruktur am besten zu Ihrer Entscheidungslogik passt.
| Erklärung | Zweck | Wann zu verwenden |
|---|---|---|
| if | Führt einen Block aus, wenn eine Bedingung erfüllt ist | Eine einfache Ja/Nein-Entscheidung |
| ansonsten | Bietet eine Ausweichlösung, falls die Bedingung nicht erfüllt ist. | Zwei sich gegenseitig ausschließende Ergebnisse |
| elif | Prüft zusätzliche Bedingungen nacheinander | Drei oder mehr Möglichkeiten |
| Verschachtelt wenn | Platziert eine if-Anweisung innerhalb einer anderen if-Anweisung. | Eine Entscheidung, die von einer zweiten Bedingung abhängt |
| Ternary | Fasst die if-else-Anweisung in eine Zeile zusammen | Einfache Wertzuweisung |
| Groß-/Kleinschreibung beachten | Vergleicht einen Wert mit vielen Mustern | Mehrfachverzweigung (Python 3.10 +) |







