This is an old revision of the document!
Python Zusammenfassung
Ausgabe
Mit `print` können Werte ausgegeben werden. Mit einer f-String lassen sich Variablen direkt innerhalb Strings verwenden.
print("Hallo") # Ausgabe: Hallo print(1.23) # Ausgabe: 1.23 # Beispiel einer f-String a = 12 print(f"der Wert der Variable ist {a}") # ^ Ausgabe: der Wert der Variable ist 12
Variablen & Datentypen
Allgemein
Mit Variablen lassen sich Werte zwischenspeichern. Variablen werden mit = gesetzt.
Ein Wert einer Variable hat immer einen bestimmten Datentyp.
Strings (str)
Strings sind Zeichenketten, also Text. String können mit + verkettet und auch mit einer Zahl multipliziert werden.
a = "Hello" b = "World" print(a+b) # Ausgabe: HelloWorld c = "Ha" print(3*c) # Ausgabe: HaHaHa
Ganz- und Fliesskommazahlen (int, float)
Mit den Typen int und float können ganze bzw. Fliesskommazahlen gespeichert werden.
Mit Zahlen können übliche mathematische Operationen durchgeführt werden.
a = 12 # int b = 2.5 # float # Gibt die Summe von a und b aus. print(a+b)
Wahrheitswert (bool)
Der Typ bool ist immer entweder True oder False. Er kommt zum Beispiel bei Vergleichen zwischen Werten zustande.
success = True
Eingabe
Mit input(msg) kann Text vom Benutzer eingelesen werden. Es wird dabei msg ausgegeben und dann die Eingabe eingelesen, bis Enter
gedrückt wird. Die Eingabe wird dann als string zurückgegeben.
typed = input("Geben sie eine Zahl ein: ") # Beachten sie, dass die Zahl hier explizit noch von einer String umgewandelt werden muss. number = int(typed) print(f"Das doppelte davon ist {2*number}")
Operatoren
Alle Beispiele haben jeweils den Wert True!
Arithmetik
| Operator | Funktion | Beispiel |
|---|---|---|
+ | Addition | 5+3==8 |
- | Subtraktion | 5-3==2 |
* | Multiplikation | 5*3==24 |
/ | Division | 5/2==2.5 |
// | Ganzzahldivision | 5//2==2 |
% | Divisionsrest | 5%2==1 |
** | Potenzierung | 5**2==25 |
Vergleiche
Die Vergleichsoperatoren können jeweils Variablen miteinander vergleichen, sofern der Vergleich Sinn ergibt und definiert ist. Man kann zum Beispiel zwei Strings auf Gleichheit, aber nicht mit “grösser als” Vergleichen.
| Operator | Funktion | Beispiel |
|---|---|---|
== | gleich | 5==5 |
!= | ungleich | 5!=4 |
> | grösser als | 5>3 |
< | kleiner als | 2<3 |
>= | grösser oder gleich | 4>=4 |
<= | kleiner oder gleich | 2<=4 |
Logische Operatoren
and und or Vergleichen zwei Wahrheitswerte miteinander und machen das, was man erwarten würde.
not vertauscht True und False für den nachfolgenden Wert.
| Operator | Funktion | Beispiel |
|---|---|---|
and | und | True and (5 == 5) |
or | oder | (5 == 5) or (6 > 7) |
not | nicht | not (5!=5) |
Wahrheitstabelle
a | b | a and b | a or b | not a |
|---|---|---|---|---|
| False | False | False | False | True |
| True | False | False | True | False |
| False | True | False | True | True |
| True | True | True | True | False |
Verzweigungen
if
Mit if kann Code bedingt ausgeführt werden. Dazu muss dem if eine Bedingung gegeben werden, was einem Wahrheitswert entspricht,
welche zum Beispiel aus einem Vergleich entstehen kann. Danach folgt ein Doppelpunkt : und darunter der Code, der unter der
Bedingung laufen sollte. Dieser Code wird eingerückt.
a = 7 if True: print("Diese Verzweigung wird immer genommen") if a > 5: print("a ist grösser als 5") print("Dieser Code ist nicht mehr Teil des ifs, da er nicht eingerückt ist")
else
Mit einem else kann man einem if eine Alternative geben. In dem Fall wird immer entweder das if oder das else
ausgeführt, aber nie beides.
a = 7 if a % 2 == 0: print("a ist eine gerade Zahl") else: print("a ist eine ungerade Zahl")
elif
Mit einem elif können mehrere Bedingungen aneinandergefügt werden, die nacheinander geprüft werden, bis eine davon zutrifft.
Ähnlich wie bei der if-else-Kombination wird immer nur genau einen Abschnitt davon ausgeführt.
a = 7 if a > 10: print("a ist grösser als 10") elif a > 5: print("a ist grösser als 5") else: print("a ist höchstens 5")
Schleifen
while
Eine while-Schleife ist sehr ähnlich wie ein if aufgebaut. Der Unterschied liegt darin, dass die Schleife so lange
wiederholt ausgeführt wird, bis die Bedingung nicht mehr zutrifft.
Achtung: Mit while-Schlaufen lassen sich sehr leicht Programme erstellen, die endlos weiterlaufen. Sollte dies
Zutreffen lässt sich ein Python-Programm mit Ctrl+C sofort beenden.
# Dieses Programm zählt von 5 bis 1 runter. counter = 5 while counter > 0: print(counter) counter -= 1
for
Mit einer for-Schleife lässt sich Code einmal für jedes Element in einer Sammlung ausführen.
Der Syntax ist dabei for element in collection:, wobei collection eine Sammlung von Elementen ist
und element bei jeder Wiederholung der Schleife ein Element davon darstellt.
Wir haben uns noch nicht weiter mit Sammlungen beschäftigt, das könnte zum Beispiel eine Liste sein.
Was häufig benutzt wird ist range(), was eine Folge von Zahlen darstellt.
# Beispiele für range() # Ein Argument: es wird von 0 bis eins vor der Zahl gezählt range(5) # 0, 1, 2, 3, 4 # Zwei Argumente: es wird von der ersten bis eines vor der zweiten Zahl gezählt range(3, 8) # 3, 4, 5, 6, 7 # Ein drittes Argument kann optional noch die Schrittweite angeben range(4, 8, 2) # 4, 6 # Dieses Programm zählt von 0 bis 7 for i in range(8): print(i)
Arrays (Listen)
Eine Liste a hat eine Anzahl Einträge len(a), die von 0 bis len(a)-1 indiziert sind. Die Einträge sind beliebige Python-Werte, auch Array oder komplexere Objekte. Die Einträge können unterschiedliche Typen haben.
# Array mit 3 Einträgen a = [23,42,123] print(f"a ist {a} und hat {len(a)} Elemente") print(f"a[0]={a[0]}, a[2]={a[2]}")
Einträge können verändert werden:
a = [23,42,123] a[1] = 4321 # a ist jetzt [23,4321,123]
Loop über die Einträge eines Arrays:
a = [23,42,123] for e in a: print(f"e ist {e}")
Elemente hinten anfügen:
quadrate = [] for i in range(10): quadrate.append(i*i) print(f"Quadratzahlen {quadrate}")
Initialisierung in einer Zeile (ergibt gleiches Array mit Quadratzahlen wie der obige Code):
q = [n*n for n in range(10)]