Użycie słowa kluczowego „global” w Pythonie

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

Z lektury dokumentacji rozumiem, że Python ma oddzielną przestrzeń nazw dla funkcji, a jeśli chcę użyć zmiennej globalnej w tej funkcji, muszę użyć global.

Używam Pythona 2.7 i wypróbowałem ten mały test

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

Wygląda na to, że wszystko działa dobrze, nawet bez globalnego.Udało mi się bez problemu uzyskać dostęp do zmiennej globalnej.

Czy czegoś mi brakuje?Ponadto następujące informacje pochodzą z dokumentacji Pythona:

Nazwy wymienione w instrukcji global nie mogą być definiowane jako parametry formalne lub w celu sterowania pętlą for, definicji klasy, definicji funkcji lub instrukcji import.

Podczas gdy parametry formalne i definicja klasy mają dla mnie sens, nie jestem w stanie zrozumieć ograniczeń dotyczących celu sterowania pętlą i definicji funkcji.