Vorlesungsskript 08

Variablen

Variablen ermöglichen es, ein Objekt im Arbeitsspeicher zu speichern und später wieder darauf zuzugreifen. Programme verwenden Variablen häufig. Das kleine Beispielprogramm in Vorlesungsskript 06 verwendete zum Beispiel eine Variable namens line_count, um die Anzahl der bisher gezählten Zeilen zu speichern. Auch im interaktiven Modus können wir Variablen verwenden, wie im folgenden Beispiel gezeigt wird:

>>> year = 2017
>>> month = 10
>>> day = 24
>>> weather = 'sunny'
>>> happy = True
>>> guests = ['lisa', 'frank']
>>> orders = {'lisa': 'spaghetti', 'frank': 'curry'}
>>> year
2017
>>> month
10
>>> day
24
>>> weather
'sunny'
>>> happy
True
>>> guests
['lisa', 'frank']
>>> orders
{'lisa': 'spaghetti', 'frank': 'curry'}
>>> year
2017

Die ersten sechs Anweisungen sind Variablenzuweisungen (engl. variable assignments). Jede von ihnen besteht aus einem Variablennamen, gefolgt von einem Gleichheitszeichen und einem Literal. Die Variablenzuweisung bewirkt, dass das durch das Literal erzeugte Objekt in der Variablen gespeichert wird.

Die letzten sieben Anweisungen sind Variablenausdrücke (engl. variable expressions). Sie bestehen jeweils einfach nur aus dem Namen der Variablen. Variablenausdrücke bewirken, dass Python das in der Variablen gespeicherte Objekt hervorholt. Als Antwort auf unsere Anweisung zeigt Python das hervorgeholte Objekt an. Das Objekt bleibt dabei in der Variablen gespeichert, wir können es beliebig oft wieder hervorholen, wie der am Ende wiederholte Variablenausdruck year illustriert.

Variablenausdrücke können Sie überall dort verwenden, wo Sie auch Literale verwenden können. Zum Beispiel können wir die Liste, die oben in der Variablen guests gespeichert wird, auch erzeugen, indem wir die Namen erst in Variablen speichern und dann bei der Erzeugung der Liste darauf zurückgreifen:

>>> person1 = 'lisa'
>>> person2 = 'frank'
>>> guests = [person1, person2]
>>> guests
['lisa', 'frank']

Entsprechend für das in orders gespeicherte Dictionary:

>>> food1 = 'spaghetti'
>>> food2 = 'curry'
>>> orders = {person1: food1, person2: food2}
>>> orders
{'lisa': 'spaghetti', 'frank': 'curry'}

Auf die erzeugten Objekte hat das keinen Einfluss. Objekte enthalten nur Objekte, keine Variablennamen.

Auch in Variablenzuweisungen können Sie wiederum Variablenausdrücke verwenden:

>>> a = 3
>>> b = a
>>> a
3
>>> b
3

Die Variablen a und b enthalten nun dasselbe Objekt. Ein Objekt kann gleichzeitig beliebig vielen Variablen zugewiesen sein.

Variablennamen

Variablennamen können frei gewählt werden, solange die folgenden Regeln eingehalten werden: ein Variablenname darf (grob gesagt) nur aus Buchstaben, Unterstrichen und Ziffern bestehen und muss mit einem Buchstaben oder einem Unterstrich beginnen. Der Versuch, einen Variablennamen zu verwenden, der nicht so aufgebaut ist, führt zu einer Fehlermeldung:

>>> 2people = ['lisa', 'frank']
  File "", line 1
    2people = ['lisa', 'frank']
          ^
SyntaxError: invalid syntax

Zusätzlich gilt es stilistische Regeln zu beachten, damit Ihr Programm auch durch andere Programmiererinnen gut lesbar ist. Grundsätzlich gilt, dass der Variablenname „sprechend“ sein sollte, also beschreibt, was die Variable enthält. Außerdem sollten Variablennamen normalerweise nur Kleinbuchstaben und Ziffern enthalten und außerdem Unterstriche, um Wörter innerhalb von Variablennamen voneinander zu trennen.