Verwendung des Schlüsselworts „global“ in Python

| | | | | | | | | | | |

Was ich aus der Lektüre der Dokumentation verstehe, ist, dass Python einen separaten Namensraum für Funktionen hat, und wenn ich eine globale Variable in dieser Funktion verwenden möchte, muss ich global verwenden.

Ich verwende Python 2.7 und habe diesen kleinen Test ausprobiert

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

Es scheint, dass die Dinge auch ohne global gut funktionieren. Ich konnte ohne Probleme auf globale Variablen zugreifen.

Vermisse ich irgendetwas? Außerdem stammt Folgendes aus der Python-Dokumentation:

Namen, die in einer globalen Anweisung aufgeführt sind, dürfen nicht als formale Parameter oder in einem for-Schleifen-Steuerungsziel, einer Klassendefinition, einer Funktionsdefinition oder einer Importanweisung definiert werden.

Während formale Parameter und Klassendefinition für mich sinnvoll sind, kann ich die Beschränkung auf das Ziel der Schleifensteuerung und die Funktionsdefinition nicht verstehen.