Routineaufgaben mit Python automatisieren. Al Sweigart
'Alice' * 'Bob'
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
'Alice' * 'Bob'
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'Alice' * 5.0
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
'Alice' * 5.0
TypeError: can't multiply sequence by non-int of type 'float'
Es ist sinnvoll, dass Python solche Ausdrücke nicht auswertet. Schließlich ist es nicht möglich, zwei Wörter miteinander zu multiplizieren, und es dürfte auch ziemlich schwierig sein, einen willkürlichen String eine gebrochene Anzahl von Malen zu wiederholen.
Werte in Variablen speichern
Eine Variable können Sie sich wie eine Kiste im Arbeitsspeicher des Computers vorstellen, in der einzelne Werte abgelegt werden. Wenn Sie das Ergebnis eines ausgewerteten Ausdrucks an einer späteren Stelle in Ihrem Programm noch brauchen, können Sie es in einer Variablen festhalten.
Zuweisungsanweisungen
Um einen Wert in einer Variablen zu speichern, verwenden Sie eine Zuweisungsanweisung. Sie besteht aus einem Variablennamen, einem Gleichheitszeichen (das hier nicht als Gleichheitszeichen dient, sondern als Zuweisungsoperator) und dem zu speichernden Wert. Wenn Sie die Zuweisungsanweisung spam = 42 eingeben, wird der Wert 42 in der Variablen spam gespeichert.
Sie können sich eine Variable als eine beschriftete Kiste vorstellen, in der der Wert abgelegt wird (siehe Abb. 1–1).
Abb. 1–1Die Anweisung spam = 42 sagt dem Programm: »Die Variable spam enthält jetzt die Ganzzahl 42.«
Geben Sie beispielsweise Folgendes in die interaktive Shell ein:
>>> spam = 40
>>> spam
40
>>> eggs = 2
>>> spam + eggs
42
>>> spam + eggs + spam
82
>>> spam = spam + 2
>>> spam
42
Eine Variable wird initialisiert (erstellt), wenn zum ersten Mal ein Wert in ihr gespeichert wird (
>>> spam = 'Hello'
>>> spam
'Hello'
>>> spam = 'Goodbye'
>>> spam
'Goodbye'
Wie die Kiste in Abb. 1–2 enthält die Variable spam in diesem Beispiel den Wert Hello, bis er durch Goodbye ersetzt wird.
Abb. 1–2Wird einer Variablen ein neuer Wert zugewiesen, so wird der alte Wert vergessen.
Variablennamen
Ein guter Variablenname beschreibt die enthaltenen Daten. Stellen Sie sich vor, Sie ziehen um und beschriften alle Kartons mit »Sachen«. Dann würden Sie Ihre Sachen nie wiederfinden! In diesem Buch und in einem Großteil der Python-Dokumentation werden allgemeine Variablennamen wie spam, eggs und bacon verwendet (in Anlehnung an den Spam-Sketch von Monty Python), aber in Ihren eigenen Programmen sollten Sie beschreibende Namen verwenden, um den Code leichter lesbar zu machen.
Sie können Variablen in Python fast beliebig benennen, allerdings gibt es einige Einschränkungen. Tabelle 1–3 führt Beispiele für gültige Variablennamen auf. Sie müssen die folgenden drei Regeln erfüllen:
Der Name muss ein einzelnes Wort sein, darf also keine Leerzeichen enthalten.
Der Name darf nur aus Buchstaben, Ziffern und dem Unterstrich bestehen.
Der Name darf nicht mit einer Zahl beginnen.
Gültige Variablennamen | Ungültige Variablennamen |
current_balance | current-balance (Bindestriche sind nicht zulässig) |
currentBalance | current balance (Leerzeichen sind nicht zulässig) |
account4 | 4account (der Name darf nicht mit einer Zahl beginnen) |
_42 | 42 (der Name darf nicht mit einer Zahl beginnen) |
TOTAL_SUM | TOTAL_$UM (Sonderzeichen wie $ sind nicht zulässig) |
hello | 'hello' (Sonderzeichen wie ' sind nicht zulässig) |
Tab. 1–3 Gültige und ungültige Variablennamen
Bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden, sodass spam, SPAM, Spam und sPaM vier verschiedene Variablen bezeichnen. Zwar ist Spam ein zulässiger Variablenname, aber verabredungsgemäß sollten Variablennamen in Python mit einem Kleinbuchstaben beginnen.
In diesem Buch wird für Variablennamen die CamelCase-Schreibweise verwendet, also die Schreibung mit Binnenmajuskel statt mit einem Unterstrich. Variablennamen sehen also aus wie lookLikeThis und nicht wie look_like_this. Erfahrene