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") 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") 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") 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}") 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") 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") 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") 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") Grade: B
Beispiel 3: Mitgliedschaftsprüfung
username = "admin"
if username == "admin":
print("Access granted to admin panel")
print("Loading admin dashboard...") 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!
// 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.