Использование ключевого слова «global» в Python

| | |

Из документации я понял, что в Python есть отдельное пространство имен для функций, и если я хочу использовать глобальную переменную в этой функции, мне нужно использовать global.

Я использую Python 2.7 и провел небольшой тест

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

Похоже, что все работает нормально даже без global. Я смог получить доступ к глобальной переменной без каких-либо проблем.

Я что-то упустил? Кроме того, следующее взято из документации Python:

Имена, перечисленные в глобальном операторе, не должны быть определены как формальные параметры или в цели управления циклом for, определении класса, определении функции или операторе импорта.

Хотя формальные параметры и определение класса мне понятны, я не могу понять ограничение на цель управления циклом for и определение функции.