347 Stimmen

Warum ist das Schlüsselwort "global" nicht erforderlich, um auf eine globale Variable zuzugreifen?

Nach meinem Verständnis hat Python einen separaten Namensraum für Funktionen, wenn ich also eine globale Variable in einer Funktion verwenden möchte, sollte ich wahrscheinlich global .

Allerdings konnte ich auf eine globale Variable auch ohne global :

>>> sub = ['0', '0', '0', '0']
>>> def getJoin():
...     return '.'.join(sub)
...
>>> getJoin()
'0.0.0.0'

Habe ich etwas übersehen?

0voto

Michael Punkte 1

Global macht die Variable "Global".

def out():
    global x
    x = 1
    print(x)
    return

out()

print (x)

Dadurch verhält sich "x" wie eine normale Variable außerhalb der Funktion. Wenn Sie die globale Variable herausnehmen würden, gäbe es einen Fehler, da eine Variable innerhalb einer Funktion nicht gedruckt werden kann.

def out():
     # Taking out the global will give you an error since the variable x is no longer 'global' or in other words: accessible for other commands
    x = 1
    print(x)
    return

out()

print (x)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X