Variablenumfang
Zuletzt aktualisiert am 2025-11-05 | Diese Seite bearbeiten
Übersicht
Fragen
- Wie funktionieren eigentlich Funktionsaufrufe?
- Wie kann ich feststellen, wo Fehler aufgetreten sind?
Ziele
- Identifizieren Sie lokale und globale Variablen.
- Identifizieren Sie Parameter als lokale Variablen.
- Lies einen Traceback und bestimme die Datei, Funktion und Zeilennummer, in der der Fehler aufgetreten ist, den Fehlertyp und die Fehlermeldung.
Der Geltungsbereich (Englisch: scope) einer Variablen ist der Teil eines Programms, der diese Variable ‘sehen’ kann.
- Es gibt nur so viele sinnvolle Namen für Variablen.
- Leute, die Funktionen benutzen, sollten sich nicht darum kümmern müssen, welche Variablennamen der Autor der Funktion benutzt hat.
- Leute, die Funktionen schreiben, sollten sich nicht darum kümmern müssen, welche Variablennamen der Funktionsaufrufer verwendet.
- Der Teil eines Programms, in dem eine Variable sichtbar ist, wird ihr Scope genannt.
-
pressureist eine globale Variable.- Definiert außerhalb einer bestimmten Funktion.
- Überall sichtbar.
-
tundtemperaturesind lokale Variablen inadjust.- Definiert in der Funktion.
- Nicht sichtbar im Hauptprogramm.
- Erinnern Sie sich: Ein Funktionsparameter ist eine Variable, der automatisch ein Wert zugewiesen wird, wenn die Funktion aufgerufen wird.
AUSGABE
adjusted: 0.01238691049085659
FEHLER
Traceback (most recent call last):
File "/Users/swcarpentry/foo.py", line 8, in <module>
print('temperature after call:', temperature)
NameError: name 'temperature' is not defined
Verwendung von lokalen und globalen Variablen
Lesen von Fehlermeldungen
Lesen Sie den Traceback unten, und identifizieren Sie das Folgende:
- Wie viele Ebenen hat der Traceback?
- Wie lautet der Name der Datei, in der der Fehler aufgetreten ist?
- Wie lautet der Name der Funktion, bei der der Fehler aufgetreten ist?
- Bei welcher Zeilennummer in dieser Funktion ist der Fehler aufgetreten?
- Um welche Art von Fehler handelt es sich?
- Wie lautet die Fehlermeldung?
FEHLER
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-2-e4c4cbafeeb5> in <module>()
1 import errors_02
----> 2 errors_02.print_friday_message()
/Users/ghopper/thesis/code/errors_02.py in print_friday_message()
13
14 def print_friday_message():
---> 15 print_message("Friday")
/Users/ghopper/thesis/code/errors_02.py in print_message(day)
9 "sunday": "Aw, the weekend is almost over."
10 }
---> 11 print(messages[day])
12
13
KeyError: 'Friday'
- Drei Ebenen.
errors_02.pyprint_message- Zeile 11
-
KeyError. Diese Fehler treten auf, wenn versucht wird, einen Schlüssel nachzuschlagen, der nicht vorhanden ist (normalerweise in einer Datenstruktur wie einem Wörterbuch). Weitere Informationen überKeyErrorund andere eingebaute Ausnahmen finden Sie in den Python docs. KeyError: 'Friday'
- Der Geltungsbereich einer Variablen ist der Teil eines Programms, der diese Variable ‘sehen’ kann.