Inhaltsverzeichnis

Python-Befehle

Hier entsteht nach und nach eine Liste von grundlegende Python-Befehlen.

Kommentare

Kommentare werden mit dem Zeichen # eingeleitet.

Wertzuweisungen und Operationen

Operatoren

Folgende Operationen können auf alle numerischen Typen angewandt werden:

Operation Beschreibung
x + y Addition
x - y Subtraktion
x * y Multiplikation
x / y Division
x ** y Potenz (x hoch y)
x % y Modulo (x mod y)

Bei Ganzzahlen ist das Ergebnis einer Division ebenfalls eine Ganzzahl. Daher wird 7/4 zu 1 ausgewertet und nicht zu 1.75. Der Modulo-Operator gibt den Rest der Division x / y zurück. Zum Beispiel ergibt 7 % 4 den Wert 3.

Mit dem Gleichheitszeichen werden Werte zugewiesen.

Vergleichsoperatoren

Operation Beschreibung
x < y Kleiner als
x > y Größer als
x == y Gleich
x != y Ungleich (auch: x <> y)
x >= y Größer-gleich als
x ⇐ y Kleiner-gleich als

Beispiel: Zinseszins

das folgende Beispielprogramm zur Berechnung von Zinseszinsen soll die Wertzuweisung verdeutlichen:

kapital = 1000                         # Anfangskapital 
zinssatz = 0.05                        # Zinssatz 
anzahljahre = 3                        # Anzahl von Jahren 
jahr = 1                               
while jahr <= anzahljahre:             # (die while-Anweisung wird weiter unten erklärt)
    kapital = kapital*(1+zinssatz)     # das Kapital wird mit 1.05 multipliziert und 
                                       # das Ergebnis der Variablen Kapital zugewiesen
    print jahr, kapital                # (die print-Anweisung wird weiter unten erklärt)
    jahr = jahr + 1                    # der Wert der Variablen jahr wird um 1 erhöht

Die Ausgabe sieht wie folgt aus:

1 1050.0 
2 1102.5 
3 1157.625 

Beachte: Zu Beginn des Programms ist kapital eine Variable vom Typ Ganzzahl, später eine Fließkommazahl.

Ein- und Ausgabe

input

liest eine Tastatureingabe ein.

print

erzeugt eine Ausgabe.

name = input("Wie ist dein Name? ")
print "Hallo ", name, ", viel Spaß mit Python!"

Formatierungsstrings

Die unerwünschten Leerzeichen vermeidet man mit dem Formatierungsstring %s.

print "Hallo %s, viel Spaß mit Python!" % (name)

Auch die Ausgabe des Beipiels Zinseszinsrechnung kann mit Formatierungsstrings etwas verschönert werden:

print "%3d  %0.2f" % (jahr, kapital) 

bewirkt, dass die Ganzzahl rechtsbündig in einer Spalte der Breite 3 und die Kommazahl mit 2 Nachkommastellen ausgegeben wird:

  1  1050.00 
  2  1102.50 
  3  1157.63 
  4  1215.51 
  5  1276.28 

Fallunterscheidungen

if ... else

Mit den Anweisungen if und else können einfache Tests durchgeführt werden:

# Berechne das Maximum (z) von a und b. 
if a < b: 
    z = b 
else: 
    z = a 

Die Rümpfe der if- und else-Klauseln werden durch Einrückung angegeben, wobei die else-Klausel optional ist. Um eine leere Klausel zu erhalten, verwendet man die pass-Anweisung wie folgt:

if a < b: 
    pass      # Tue nichts. 
else: 
    z = a 

Boolesche Ausdrücke können mit Hilfe der Schlüsselwörter or, and und not gebildet werden:

if b >= a and b < c: 
    print "b liegt zwischen a und c." 
if not (b < a or b > c): 
    print "b liegt immer noch zwischen a und c." 

elif

Schleifen

for-Schleife

Bei der for-Anweisung wird über die Elemente einer Sequenz iteriert. Im folgenden Beispiel durchläuft der Zähler i die Zahlen von 1 bis 9:

for i in range(1, 10): 
    print "2 hoch %d ist %d." % (i, 2**i) 

Die Funktion range(i, j) erzeugt eine Liste von ganzen Zahlen mit Werten von i bis j-1. Falls der Startwert weggelassen wird, wird Null dafür angenommen. Eine Schrittweite kann als optionales drittes Argument angegeben werden, z.B. so:

a = range(5)          # a = [0, 1, 2, 3, 4] 
b = range(1, 8)       # b = [1, 2, 3, 4, 5, 6, 7] 
c = range(0, 14, 3)   # c = [0, 3, 6, 9, 12] 
d = range(8, 1, -1)   # d = [8, 7, 6, 5, 4, 3, 2] 

Die for-Anweisung kann über beliebige Sequenz-Typen iterieren und ist nicht etwa nur auf Ganzzahlen beschränkt:

a = "Grundkurs Informatik" 
# Gib die Zeichen in a aus. 
for c in a: 
    print c 

while-Schleife

Die while-Schleife wurde bereits in dem obigen Beispiel zur Zinseszinsrechnung benutzt. Der Schleifenkörper wird so oft durchlaufen, wie die Bedingung erfüllt ist.

Im folgenden Beispiel wird das Programm so oft wiederholt, bis auf die Frage eine andere Antwort als „ja“ gegeben wird.

antwort = "ja"
while (antwort == "ja"):
    # ...
    # hier steht der Teil, der wiederholt wird
    # ...
    antwort = raw_input("Noch einmal wiederholen (ja/nein)?"

Unterprogramme

Prozeduren

Prozeduren werden mit der def-Anweisung definiert.

def zaehleBisNeun():
    for i in range(10):
        print i,

Die Prozedur zaehleBisNeun gibt die Zahlen von 0 bis 9 aus, wenn man sie z.B. von der Kommandozeile wie folgt aufruft:

>>> zaehleBisNeun()
0 1 2 3 4 5 6 7 8 9

Es ist möglich, Prozeduren einen Parameter mitzugeben:

def zaehleBis(zahl):
    for i in range(zahl + 1):
        print i,

Der Aufruf zaehleBis(1000) führt zur Ausgabe der Zahlen von 0 bis 1000.

Funktionen

Funktionen sind Prozeduren mit einem Rückgabewert. Sie werden genauso definiert wie Prozeduren. Mit der return-Anweisung wird der Rückgabewert festgelegt.

def meinMaximum(a,b):
    if a > b:
        m = b
    else:
        m = a
    return m

Einmal definiert, kann die Funktion meinMaximum nun wie folgt benutzt werden:

x = x + meinMaximum(y , z)
print "Das Maximum von 7 und 12 ist",meinMaximum(7,12)