if in Python: Bedingte Anweisungen Erklärt

Lernen Sie, wie Sie if-Anweisungen in Python verwenden. Vollständiger Leitfaden mit Syntax, Beispielen und Best Practices für bedingte Programmierung. Interaktive Code-Beispiele enthalten.

Die if-Anweisung in Python ist eine bedingte Anweisung, die einen Codeblock nur ausführt, wenn eine bestimmte Bedingung erfüllt ist. Sie wertet einen booleschen Ausdruck aus, der True oder False zurückgibt, und führt den eingerückten Codeblock aus, wenn die Bedingung True ist. Pythons if-Anweisungen ermöglichen Entscheidungsfindung in Ihren Programmen und erlauben verschiedene Codepfade basierend auf variierenden Bedingungen.

Grundlegende if-Anweisungssyntax

Die Syntax für eine if-Anweisung in Python ist unkompliziert:

if condition:
    # code to execute if condition is True
    statement

Die condition ist ein boolescher Ausdruck (wie number > 5 oder name == "Alice"), der zu True oder False ausgewertet wird. Wenn die Bedingung zu True ausgewertet wird, wird der eingerückte Codeblock ausgeführt; wenn False, überspringt Python den Block vollständig.

Beispiel 1: Einfache if-Anweisung

number = 10

if number > 0:
    print("The number is positive")
Ausgabe:
The number is positive

Beispiel 2: if-Anweisung mit False-Bedingung

number = -5

if number > 0:
    print("The number is positive")

print("This line always executes")
Ausgabe:
This line always executes

Im zweiten Beispiel wird, da -5 nicht größer als 0 ist, die print-Anweisung innerhalb des if-Blocks übersprungen.

Einrückung in if-Anweisungen

Python verlässt sich auf Einrückung (Leerzeichen am Anfang einer Zeile), um den Gültigkeitsbereich von Codeblöcken zu definieren, anders als andere Sprachen, die geschweifte Klammern verwenden. Alle Anweisungen innerhalb eines if-Blocks müssen um die gleiche Menge eingerückt sein, typischerweise 4 Leerzeichen.

Korrekte Einrückung:

age = 20

if age >= 18:
    print("You are an adult")
    print("You can vote")
    print("You have full legal rights")

Falsche Einrückung (wird einen Fehler verursachen):

age = 20

if age >= 18:
print("You are an adult")  # IndentationError

Wenn Sie keine ordnungsgemäße Einrückung verwenden, wird Python einen IndentationError auslösen, da es nicht bestimmen kann, welche Anweisungen zum if-Block gehören.

Vergleichsoperatoren mit if-Anweisungen

Python unterstützt Standard-Vergleichsoperatoren, die boolesche Werte für die Verwendung in if-Anweisungen zurückgeben:

  • == - Gleich
  • != - Ungleich
  • < - Kleiner als
  • <= - Kleiner oder gleich
  • > - Größer als
  • >= - Größer oder gleich

Beispiel: Verwendung verschiedener Vergleichsoperatoren

a = 33
b = 200

if b > a:
    print("b is greater than a")

if a != b:
    print("a and b are not equal")

if a <= 50:
    print("a is 50 or less")
Ausgabe:
b is greater than a
a and b are not equal
a is 50 or less

Mehrere Anweisungen im if-Block

Sie können mehrere Anweisungen innerhalb eines if-Blocks einschließen, solange sie alle die gleiche Einrückungsebene haben.

Beispiel:

score = 95

if score >= 90:
    print("Excellent work!")
    print("You earned an A grade")
    grade = "A"
    print(f"Your grade is: {grade}")
Ausgabe:
Excellent work!
You earned an A grade
Your grade is: A

Boolesche Variablen in if-Anweisungen

Boolesche Variablen können direkt in if-Anweisungen ohne Vergleichsoperatoren verwendet werden.

Beispiel:

is_logged_in = True

if is_logged_in:
    print("Welcome back!")

is_raining = False

if is_raining:
    print("Take an umbrella")
else:
    print("Enjoy the sunshine")
Ausgabe:
Welcome back!
Enjoy the sunshine

Python behandelt bestimmte Werte als False im booleschen Kontext: 0, leere Zeichenketten "", None und leere Sammlungen wie [] oder {}. Alle anderen Werte werden als True behandelt.

Truthy- und Falsy-Werte

Python kann viele Arten von Werten als True oder False in bedingten Anweisungen auswerten:

Falsy-Werte (als False ausgewertet):

  • 0 (Null)
  • "" (leere Zeichenkette)
  • None
  • [] (leere Liste)
  • (leeres Wörterbuch)
  • () (leeres Tupel)

Truthy-Werte (als True ausgewertet):

  • Jede Zahl ungleich Null (positiv oder negativ)
  • Jede nicht leere Zeichenkette
  • Nicht leere Sammlungen

Beispiel:

name = ""

if name:
    print(f"Hello, {name}")
else:
    print("Name is empty")

items = [1, 2, 3]

if items:
    print("List has items")
Ausgabe:
Name is empty
List has items

Einzeilige if-Anweisung

Für einfache Bedingungen können Sie eine if-Anweisung in einer einzigen Zeile schreiben:

Standardformat:

temperature = 30

if temperature > 25:
    print("It's hot outside")

Kompaktes Format:

temperature = 30

if temperature > 25: print("It's hot outside")

Beide Versionen erzeugen die gleiche Ausgabe, aber das Einzeilenformat ist für einfache Anweisungen prägnanter.

Häufige Anwendungsfälle

Anwendungsfall 1: Validierung von Benutzereingaben

age = int(input("Enter your age: "))

if age >= 18:
    print("You are eligible to vote")

Anwendungsfall 2: Überprüfung gerader oder ungerader Zahlen

number = 7

if number % 2 == 0:
    print(f"{number} is even")

Anwendungsfall 3: Passwortvalidierung

password = "secret123"

if len(password) >= 8:
    print("Password is strong enough")

Anwendungsfall 4: Überprüfung des Listeninhalts

shopping_cart = ["apple", "banana", "milk"]

if "milk" in shopping_cart:
    print("Milk is in your cart")

Häufige Fehler zu Vermeiden

Fehler 1: Doppelpunkt Vergessen

# Wrong
if number > 0
    print("Positive")

# Correct
if number > 0:
    print("Positive")

Fehler 2: = Statt ==

x = 5

# Wrong (assignment, not comparison)
if x = 5:
    print("x is 5")

# Correct
if x == 5:
    print("x is 5")

Fehler 3: Inkonsistente Einrückung

# Wrong
if True:
    print("Line 1")
      print("Line 2")  # Different indentation level

# Correct
if True:
    print("Line 1")
    print("Line 2")

Übungsbeispiele

Beispiel 1: Temperaturprüfer

temperature = 22

if temperature > 30:
    print("It's very hot")

if temperature > 20:
    print("It's warm")

if temperature < 10:
    print("It's cold")
Ausgabe:
It's warm

Beispiel 2: Notenzuweisung

marks = 85

if marks >= 90:
    print("Grade: A")

if marks >= 80 and marks < 90:
    print("Grade: B")

if marks >= 70 and marks < 80:
    print("Grade: C")
Ausgabe:
Grade: B

Beispiel 3: Mitgliedschaftsprüfung

username = "admin"

if username == "admin":
    print("Access granted to admin panel")
    print("Loading admin dashboard...")
Ausgabe:
Access granted to admin panel
Loading admin dashboard...

Probieren Sie es Selbst

Üben Sie das Gelernte, indem Sie den Code unten ändern. Versuchen Sie, die Werte und Bedingungen zu ändern, um verschiedene Ausgaben zu sehen!

Bereit
main.py
Ausgabekonsole 0 ms
// Klicken Sie auf "Code Ausführen", um Ergebnisse zu sehen

Verwandte Themen

Häufig Gestellte Fragen

Was ist der Unterschied zwischen if und if else in Python?

Eine if-Anweisung führt Code nur aus, wenn die Bedingung True ist. Eine if else-Anweisung bietet einen alternativen Codeblock, der ausgeführt wird, wenn die Bedingung False ist.

Muss ich Klammern um die Bedingung in Python if-Anweisungen verwenden?

Nein, Klammern sind in Python optional. Sowohl if (x > 5): als auch if x > 5: sind gültig, aber letzteres ist pythonischer.

Kann ich mehrere Bedingungen in einer einzigen if-Anweisung verwenden?

Ja, Sie können logische Operatoren wie and, or und not verwenden, um mehrere Bedingungen zu kombinieren: if age >= 18 and has_license:.

Was passiert, wenn ich den Code nach einer if-Anweisung nicht einrücke?

Python wird einen IndentationError auslösen, da es Einrückung benötigt, um Codeblöcke zu definieren.