So lerne ich den Unterschied zwischen globalem und lokalen Vars in Python 2.7 und nach meinem VerständnisPython 2.7 - lokale vs globalem Vars
lokal var eine ist, die innerhalb einer Funktion und GLOBAR var definiert ist ist eine, die außerhalb der Funktion definiert ist.
ich diese einfache Funktion zu testen, erstellt, wie diese lokalen und globalen Variablen an, wenn sie in Kombination
def f():
global s
print s
s = "Python is great."
print s
Bevor ich die Funktion lief verwendet arbeiten, erklärte ich die globale s
s = "I love python!"
f()
Der Ausgang war :
>>> f()
I love python
Python is great
Ich verstehe bis zu diesem Teil, aber was ich don Nicht verstehen ist, wenn ich den Lauf eine print s
außerhalb der Funktion rufe, warum druckt es die lokale Variable anstelle der globalen Variable. Bedeutet dies, dass die globale Variable s
einmal verwendet und verworfen wird?
>>> print s
Python is great
kann jemand bitte dies erklären?
Also das heißt, wenn ich eine 'print s' ohne Erklärung der globalen' s', wird es den Wert von s wie in der Funktion definiert, richtig? (da kein globales s definiert ist?) –
Wenn Sie die Anweisung 'global s' in der Funktion entfernen, dann wird das Aufrufen der Funktion' UnboundLocalError' auslösen, da der Compiler versucht, auf das lokale 's' in der ersten Zeile der Funktion (da Sie es innerhalb der Funktion gebunden haben). –