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 finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise

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
In [2]:
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
In [3]:
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
In [4]:
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

In [5]:
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

In [6]:
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
In [7]:
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
In [8]:
%%Mooc Video
Out[8]: