115
Welche ist die bessere Variante?
Dir wird auffallen, dass
global
orange eingefärbt erscheint – ein neues
reserviertes Wort!
>
Speichere das Programm und führe es aus!
Nun funktioniert es! Also halten wir fest:
Wenn innerhalb einer Funktion eine Zuweisung an einen Variablennamen
vorkommt, der außerhalb der Funktion definiert wurde, dann muss diese
Variable in der Funktion als global deklariert werden. Das geschieht mit
der
global
-Anweisung:
global
varname
die als erste Anweisung im Funktionskörper stehen soll.
Das Wörterbuch für lokale Variablennamen wird von Python zu Beginn
der Ausführung einer Funktion erstellt, während der Ausführung der
Funktion benutzt und danach gleich wieder gelöscht. Anweisungen au-
ßerhalb einer Funktion können auf lokale Namen der Funktion nicht
zugreifen!
Der Hauptgrund dafür ist, dass man bei Verwendung von mehreren Funk-
tionen manchmal die gleichen Namen verwenden möchte, ohne Gefahr
zu laufen, dass diese einander in die Quere kommen.
global
varname
stellt sicher, dass der Name
varname
im globalen
Wörterbuch gesucht wird.
>
Aktualisiere noch den Kopfkommentar und speichere eine Kopie des
Programms unter dem Namen
quadrat08b.py
.
Welche ist die bessere Variante?
Beide Programme
dreieck08.py
und
dreieck08b.py
funktionieren
richtig. Doch das erste stellt eindeutig die bessere Variante dar. Das ist
diejenige, in der die Funktion
fuelle_dreieck()
nur die drei Anweisun-
gen enthält, die das gefüllte Dreieck zeichnen. Dafür sprechen folgende
Gründe:
0
Der Name der Funktion beschreibt, was die Funktion tut. Nämlich: Ein
gefülltes Dreieck zeichnen.

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.