Bedingte Logik
Bedingte Logik
if, elif, else
- „if“ führt Code aus, wenn die Bedingung wahr ist.
- Wenn „if“ False ist, prüft „elif“ die Bedingungen der Reihe nach (es können mehrere „elif“-Anweisungen vorhanden sein).
- „else“ wird nur ausgeführt, wenn alle vorherigen Bedingungen falsch sind.
Schecks kombinieren
- Verwenden Sie „und“, „oder“, „nicht“, um Bedingungen zu kombinieren.
Wahr und falsch
- In Python gelten die meisten Werte als wahr.
- Ausnahmen (als falsch betrachtet): „Keine“, „Falsch“, Zahlen gleich Null und leere Datentypen („[]“, „{}“, „“ usw.).
is_old = 'hello' # truthy
is_licensed = 0 # falsy
print(bool(is_old)) # True
print(bool(is_licensed)) # False
if is_old and is_licensed: #if true and true print code
print('you can drive now')
elif is_licensed: #elif print this
print('you can\'t')
else: #else print this
print('you can\'t')
Ternärer Operator (Bedingter Ausdruck)
Eine Kurzform zum Schreiben bedingter Logik. Syntax: value_if_true, wenn Bedingung, sonst value_if_false Unterstützt elif nicht.
is_friend = False
can_message = 'message allowed' if is_friend else "not allowed to message"
print(can_message)
Kurzschluss
Python beendet die Auswertung logischer Ausdrücke, sobald das Ergebnis ermittelt wurde.
- Mit oder: stoppt beim ersten True.
- Mit und: stoppt beim ersten False
– Der Rest des Ausdrucks wird nicht unnötig ausgewertet.
Die Verwendung von „or“ → stoppt, wenn das erste True gefunden wird
x = True or print("This won't run") #(nothing printed, because True is enough to decide result)
Die Verwendung von „und“ → stoppt, wenn das erste False gefunden wird
y = False and print("This won't run") #(nothing printed, because False is enough to decide result)
keine Operatoren
– Gibt den entgegengesetzten booleschen Wert zurück.
print(not False)
print(not True)
== vs ist
- == prüft die Wertgleichheit
- prüft die Objektidentität (gleiche Speicherreferenz)
(ist) prüft, ob sich dies im selben Speicherbereich, im selben Bücherregal wie dieses befindet
print(True is 1) #checks for exact same thing, located in different memory space
print(True == 1) #checks for the values
Logischer Operator
- <, >, ==, >=, <=, !=
- und, oder, nicht, ist – Wird in der bedingten Logik zur Steuerung des Programmflusses verwendet.
In Python lassen sie das Programm Zeilen überspringen oder ausführen, je nachdem, ob die Bedingungen wahr oder falsch sind.
Walross-Operator(:=)
– Weist Werte innerhalb von Ausdrücken zu. - etwas basierend auf einer Bedingung tun und diesen Wert dann erneut berechnen.
a = 'hellooooooo'
if (n := len(a)) > 10:
print(f'the elements {n} are too long')
while ((n:= len (a)) > 1):
print(n)
a = a[:-1]
print(a)