Appearance
5 — Python mit Schachteln
Das zentrale Element der Programmiersprache Python sind Variablen. Das sind eigentlich bestimmte Stellen im Speicher des Computer, wo Daten gespeichert werden.
Variablen können wir uns als Schachteln oder Schubladen vorstellen. Eine Schachtel hat immer einen Namen und einen Inhalt:

Beispielprogramm
Das folgende Beispielprogramm, welches eine Figur animiert, wird nun anhand der Schachtel-Metapher erklärt:
python
import pgtrun
def draw():
screen.fill(farbe)
figur.draw()
def update():
figur.x = figur.x + 1
WIDTH = 800
HEIGHT = 600
TITLE = "Mein tolles Game"
farbe = 11, 102, 35
figur = Actor("figur_01.png")
figur.y = 300
pgtrun.go()Import-Anweisung
Mit der Import-Anweisung wird ein Paket, welches vordefinierte Programmteile enthält, in unser Programm geholt. Wir können uns ein Paket als Schachtel vorstellen, welche wiederum viele kleinere Schachteln enthält:

Unterprogramm definieren
Eine def-Anweisung definiert ein Unterprogramm. Dabei werden die eingerückten Befehle in einer Schachtel mit dem angegebenen Namen abgelegt. Die Befehle werden nicht ausgeführt.

Variable definieren
Eine Anweisung mit einem Gleichheitszeichen = ist eine Zuweisung. Dabei wird der Wert rechts in der Schachtel mit dem Namen links gespeichert.

Objekt erzeugen
Die Anweisung
python
figur = Actor("figur_01.png")ist eigentlich auch eine Zuweisung. Das Spezielle hier ist, dass ein neues Objekt erzeugt wird. Ein Objekt ist nichts anderes als eine Schachtel, welche weitere Schachteln enthält:

Auf verschachtelte Variablen zugreifen
Der Punkt . wird verwendet, um auf eine Schachtel in einer Schachtel zuzugreifen. Die Anweisung
python
figur.y = 300speichert den Wert 300 in der Schachtel mit dem Namen y in der Schachtel mit dem Namen figur.

Unterprogramm ausführen
Klammern nach einem Namen bedeuten, dass die Befehle in der entsprechenden Schachtel ausgeführt werden. Die Anweisung
python
pgtrun.go()holt die Befehle der Schachtel go innerhalb der Schachtel pgtrun und führt diese aus. Dort stehen zunächst Befehle, welche ein neues Fenster erstellen. Anschliessend werden die Unterprogramme update und draw ausgeführt.

Variable ändern
Häufig kommt in einer Zuweisung eine Variable auf beiden Seiten des Gleichheitszeichens = vor. Bei einer Zuweisung wird immer zuerst der Wert rechts des Gleichheitszeichens berechnet.
python
figur.x = figur.x + 1Beim oben stehenden Beispiel bedeutet das, dass zuerst der Wert (z.B. 199 aus der Schachtel figur.x gelesen wird. Danach wird zum Wert 1 addiert. Zum Schluss wird das Resultat wieder in der Schachtel figur.x gespeichert.

Aufgaben
✏️ Aufgabe 5.1
Überlegen Sie sich, was für einen Text das folgende Programm ausgibt. Hinweis: Mit einem Pluszeichen werden zwei Texte aneinander gehängt.
pythondef gruesse(): text = gruss + " " + name print(text) gruss = "Hallo" name = "Anna" gruesse() name = "Ben" gruesse()Überprüfen Sie Ihre Vermutung, indem Sie in Thonny ein neues Programm erstellen, dort den Code hinein kopieren und das Programm ausführen.
Erstellen Sie eine Skizze mit allen Schachteln, welche im Programm verwendet werden.
✏️ Aufgabe 5.2
Überlegen Sie sich, was für einen Text das folgende Programm ausgibt.
pythonben = "Anna" anna = ben print(anna) print(ben)Was passiert, wenn Sie auf der zweiten Zeile
benin Anführungszeichen setzen.Erklären Sie das unterschiedliche Verhalten in eigenen Worten.