NB_02_Kontrollstrukturen¶
(c) 2026 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
Schlüsselwörter¶
reservierte Schlüsselwörter sind die folgenden Wörter (die durchgestrichenen sind noch nicht bekannt), die nicht als Variablennamen verwendet werden dürfen:
| reservierte | Schlüssel | wörter | (Key | words) |
|---|---|---|---|---|
| False | class | is | return | |
| None | continue | for | lambda | |
| True | def | from | nonlocal | while |
| and | del | global | not | with |
| as | elif | if | or | |
| else | import | pass | ||
| break | in |
Schauen wir uns diese Schlüsselwörter nochmal genauer an und ordnen sie entsprechenden Programmierstrukturen zu:
- Spezielle Werte False True None
- Operatoren and not or is
- Bedingungen if() else() elif(*)
- Schleifen for() in while() break continue
- Funktionen def(*) return lambda
- Klassen class(*) global nonlocal
- Kontext with(*) as
- Bibliotheken from import
- Weiteres del pass
Block als Programmierstruktur¶
Alle Schlüsselworte, die oben mit einem Stern (*) versehen sind, sind der Beginn eines Blocks. Wir haben also bei Bedingungen einen if-Block, einen else-Block und einen elif-Block (oder auch else if-Block), bei Schleifen einen for-Block und einen while-Block und bei Funktionen einen def-Block, bei Klassen einen class-Block und für einen Kontext (z.B. offene Datei) einen with-Block.
Einrückung und Ausrückung (Indentation)¶
Ein Block beginnt in Python mit den gerade genannten Schlüsselwörtern auf einer Zeile, endet in dieser Zeile mit einem Doppelpunkt : und in der nächsten Zeile muss eingerückt werden. Wenn der Block zu Ende ist, wenn also alle Ausführungen, die in diesem Block abgehandelt werden sollen, Zeile für Zeile jeweils eingerückt durchgeführt worden sind, dann wird wieder ausgerückt.
Indentation-Error sind Fehler, in denen genau diese Einrückung und Ausrückung nicht korrekt durchgeführt worden ist.
Kontrollstrukturen¶
Operatoren¶
Mathematische Operatoren¶
| Operator | Bedeutung |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| ** | Potenz |
| / | Division |
| // | Ganzzahldivision (Abrundung) |
| % | Modulo |
Bitoperatoren¶
Operator | Bedeutung --- | --- << | Bitverschiebung nach links
| Bitverschiebung nach rechts & | Und | Oder ^ | exklusives Oder ~ | Einerkomplement
a = 0b0111 << 1
b = 0b0101 & 0b1100
c = 0b0110 ^ 0b0011
print("a=0b{:04b}\nb=0b{:04b}\nc=0b{:04b}".format(a,b,c))
a=0b1110 b=0b0100 c=0b0101
Vergleichsoperatoren¶
| Operator | Bedeutung |
|---|---|
| < | kleiner als |
| <= | kleiner gleich |
| > | größer |
| >= | größer gleich |
| == | gleich |
| != | ungleich |
| is | Objekt identisch |
| is not | Objekt nicht identisch |
a = 'a' < 'b'
b = 0x67 > 67
c = a != b
print("a={}\nb={}\nc={}".format(a,b,c))
a=True b=True c=False
Bool'sche Operatoren¶
- x or y
- x and y
- not x
a = 'a' < 'b' and 0x67 < 67
b = 2 > 3 or 0x67 > 67
c = not a
print("a={}\nb={}\nc={}".format(a,b,c))
a=False b=True c=True
Bedingungen¶
a = 3
b = 2
c = 1
if a < b:
c = 7
elif b > c:
c = 5
else:
c = 3
print("a={}\nb={}\nc={}".format(a,b,c))
a=3 b=2 c=5
Schleifen¶
a = ""
b = ""
c = ""
for i in ["a","b","c","...","x","y","z"]:
if i == "...":
b = i
elif i < "n":
a += i
elif i > "n":
c += i
print("a={}\nb={}\nc={}".format(a,b,c))
a=abc b=... c=xyz
a = 10
b = 0
c = 0
while a > 0:
if a == b:
c = 1
break
a -= 1
b += 1
print("a={}\nb={}\nc={}".format(a,b,c))
a=5 b=5 c=1
%%Mooc Video