**Dies ist eine alte Version des Dokuments!**
Python Zusammenfassung
Mit den folgenden sechs Merkmalen kannst du jedes Programm schreiben:
The Big Six
Variablen
Verzweigung
Ziel: Ein Stück Code nur ausführen, falls eine Bedingung erfüllt ist.
if <Bedingung>: # Codeblock der ausgeführt wird, # falls (if) Bedingung erfüllt (True) ist
Wollen wir zwei Fälle unterscheiden, können wir mit else
arbeiten. Achtung: else
hat keine Bedingung - der Block wird dann ausgeführt, wenn die if
-Bedingung nicht zutrifft.
if <Bedingung>: # Codeblock der ausgeführt wird, # falls (if) Bedingung erfüllt (True) ist else: # Codeblock der ausgeführt wird, # der ansonsten ausgeführt wird, # falls also Bedingung NICHT erfüllt ist (False)
Gibt es aber drei oder mehr Fälle, muss man if
-else
-Verzweigungen ineinander verschachteln. Dadurch wird der Code unübersichtlich und fehleranfällig. Es ist dann besser, mit elif
die weiteren F$lle zu programmieren, da man mit dieser beliebig viele Fälle unterscheiden kann:
if <Bedingung1>: # Code, falls <Bedingung1> erfüllt ist. elif <Bedingung2>: # Code, falls <Bedingung2> erfüllt ist, aber nicht <Bedingung1>. else: # Code, falls keine der Bedingungen erfüllt ist.
Bemerkungen:
- Es gibt genau eine
if
-Anweisung! - Man kann beliebig viele (auch null)
elif
-Anweisungegn hintereinander schalten. - Es gibt keine oder eine
else
-Anweisung. - Falls die Bedingung bei
if
oder einemelif
erfüllt ist, werden alle darauffolgendenelif
gar nicht mehr überprüft.
Schleifen
Ziel: Ein Stück Code soll wiederholt ausgeführt werden, solange eine Bedingung erfüllt (True
) ist.
while <Bedingung>: # Dieser Codeblock wird solange ausgefuehrt, # wie die <Bedingung> True (also erfuellt) ist # Dieser Code wird ausgeführt, # sobald die <Bedingung> nicht mehr erfüllt ist
Bedingungen
Sowohl in Schleifen wie auch in Verzweigungen werden Bedingungen überprüft. Bedingungen sind Code-Ausdrücke, die in einen Wahrheitswert (True
- die Bedingung ist erfüllt, oder False
, sie ist nicht erfüllt) umgewandelt werden können.
Die einfachste Bedingung ist also gerade so ein Wahrheitswert. Eine while True
-Schleife wird nie regulär beendet, wir verwenden Sie für einen Programmteil der nicht verlassen werden sollen (z.B. in der Robotik):
while True: if button_a.is_pressed(): display.show(Image.SMILE)
Vergleichs-Operatoren
Für komplexere Bedingungen in Verzweigungen und Schleifen benötigen wir Vergleichsoperatoren:
Operator | Erklärung |
---|---|
x == 4 | x ist Zahl und hat Wert von genau 4 |
s == "Hallo" | s ist String und hat genau den Inhalt „Hallo“ |
x != 4 | x ist NICHT eine Zahl vom Wert (Ungleich-Operator) |
x > 5 | x ist Zahl grösser als 5 |
x >= 5 | x ist Zahl grösser gleich 5 |
x < 5 | x ist Zahl kleiner als 5 |
x <= 5 | x ist Zahl kleiner gleich 5 |
Implizite Umwandlung in Wahrheitswert
Python kann alle Werte irgendwie in einen Wahrheitswert umwandeln:
False
sind:- die Zahl
0
oder0.0
- der leere String
""
und die leere Liste[]
None
False
selbst
True
ist alles andere:- alle anderen Zahlen ausser 0
- alle nicht-leeren Strings und Listen
True
selbst- alle anderen Objekte
Logik-Operatoren
Mit Logikoperatoren können mehrere Aussagen verknüpft (and
, or
) oder eine Aussage negiert (not
) werden:
Operator | Erklährung |
---|---|
A and B | ist True nur falls beide Aussagen A und B True sind |
A or B | ist True nur falls mindestens eine der Aussagen A und B True ist |
not A | negiert Aussage A |