Почему я не могу установить глобальную переменную в Python?

Как глобальные переменные работают в Python? Я знаю, что глобальные переменные являются злом, я просто экспериментирую.

Это не работает в Python:

G = None

def foo():
    if G is None:
        G = 1

foo()

Я получаю ошибку:

UnboundLocalError: local variable 'G' referenced before assignment

Что я делаю неправильно?

Ответы на вопрос(4)

Ваш ответ на вопрос