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.

  • Kernkonzept: Eine if-Anweisung führt ihren eingerückten Block nur dann aus, wenn die Bedingung als wahr ausgewertet wird, und bildet somit die Grundlage für die Entscheidungsfindung. Python.
  • Alternativen zum Umgang mit dem Griff: Fügen Sie else für einen Ausweichpfad und elif hinzu, um zusätzliche Bedingungen nacheinander ohne tiefe Verschachtelung zu prüfen.
  • Vermeiden Sie Logikfehler: Verwenden Sie eine einzige if-elif-else-Kette anstelle von unabhängigen if-Anweisungen, wenn genau ein Ergebnis zutreffen soll.
  • Schreiben Sie prägnant Code: Wenden Sie den ternären Ausdruck value_if_true if condition else value_if_false an, um einen Wert in einer lesbaren Zeile zuzuweisen.
  • Moderne Verzweigung: Ersetze lange elif-Ketten durch eine Wörterbuchabbildung.ping oder die in Python 3.10 für eine übersichtlichere Mehrfachauswahl.

Python Bedingte Anweisungen

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

Python if…else-Ablaufdiagramm mit den Zweigen „wahr“ und „falsch“.

Das obige Flussdiagramm zeigt den Ablauf einer if-else-Anweisung. Betrachten wir ein Beispiel. Python if-else-Anweisung in Aktion:

Python Beispielausgabe einer if-Anweisung im Editor

# 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.

Python Fehler, wenn die if-Bedingung nicht erfüllt ist

# 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.
⚠ Warnung: Das Referenzieren einer Variable, die nur innerhalb eines if-Blocks einen Wert zugewiesen bekommt, ist ein häufiger Anfängerfehler. Fügen Sie entweder einen else-Zweig hinzu oder weisen Sie der Variable vor der if-Anweisung einen Standardwert zu.

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:

Python Beispiel für eine if-else-Bedingung

# 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.

Python else-Bedingung, die ein falsches Ergebnis erzeugt

# 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:

Python Beispiel für eine elif-Bedingung

# 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:

Python Beispiel für eine einzeilige ternäre Bedingungsanweisung

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.

✅ Tipp: Verwenden Sie match-case, wenn Sie auf Python Version 3.10 oder neuer. Für ältere Versionen siehe Wörterbuchzuordnung.ping bleibt die Standardmethode, um eine Switch-Anweisung zu emulieren.

if vs. elif vs. else: Kurzer Vergleich

Nutzen Sie diesen Vergleich, um zu entscheiden, welche Bedingungsstruktur am besten zu Ihrer Entscheidungslogik passt.

ErklärungZweckWann zu verwenden
ifFührt einen Block aus, wenn eine Bedingung erfüllt istEine einfache Ja/Nein-Entscheidung
ansonstenBietet eine Ausweichlösung, falls die Bedingung nicht erfüllt ist.Zwei sich gegenseitig ausschließende Ergebnisse
elifPrüft zusätzliche Bedingungen nacheinanderDrei oder mehr Möglichkeiten
Verschachtelt wennPlatziert eine if-Anweisung innerhalb einer anderen if-Anweisung.Eine Entscheidung, die von einer zweiten Bedingung abhängt
TernaryFasst die if-else-Anweisung in eine Zeile zusammenEinfache Wertzuweisung
Groß-/Kleinschreibung beachtenVergleicht einen Wert mit vielen MusternMehrfachverzweigung (Python 3.10 +)
⚠ Hinweis: Python Zwei erreichten am 1. Januar 2020 ihr Lebensende, und alle Beispiele in diesem Artikel verwenden Python 3 Syntax. In Python 2. Da print eine Anweisung (z. B. print st) und keine Funktion war, wird der obige Code auf diesem Bildschirm nicht unverändert ausgeführt. Python 2.

Häufig gestellte Fragen

Eine if-Anweisung leitet eine Entscheidung ein und wird immer ausgewertet. Eine elif-Anweisung (else-if) wird nur dann geprüft, wenn die vorhergehenden if- oder elif-Bedingungen nicht erfüllt sind. Dadurch können Sie mehrere Möglichkeiten in einer Blockchain testen, während genau ein Block ausgeführt wird.

Ja. Schon seit Python In Version 3.10 ermöglicht die `match-case`-Anweisung native Verzweigungen im Switch-Stil durch strukturelles Pattern Matching. In älteren Versionen emulieren Entwickler einen Switch mithilfe einer Dictionary Map.ping mit der get()-Methode, um einen Standardwert anzugeben.

Verwenden Sie einen ternären Ausdruck: Wert_wenn_wahr falls Bedingung sonst Wert_wenn_falsch. Zum Beispiel weist st = "niedrig" falls x < 10 sonst "hoch" einen Wert in einer einzigen lesbaren Zeile ohne einen vollständigen if-else-Block zu.

Ja. KI-Programmierassistenten können if-elif-else-Anweisungen anhand einer einfachen Spracheingabe generieren, erklären und debuggen. Sie sind hilfreich zum Lernen, aber Sie sollten die Ausgabe trotzdem überprüfen, um sicherzustellen, dass die Bedingungen und die Einrückung Ihrer beabsichtigten Logik entsprechen.

Ja. Bedingte Logik ist grundlegend für KI. Entscheidungsbäume, regelbasierte Systeme und Datenvorverarbeitungspipelines basieren alle auf Wenn-Dann-Verzweigungen, um Aktionen auszuwählen, Daten zu filtern und zu steuern, wie ein Modell mit verschiedenen Eingaben umgeht.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: