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.