Dlaczego nie mogę ustawić zmiennej globalnej w Pythonie?

Jak działają zmienne globalne w Pythonie? Wiem, że globalne zmienne są złe, po prostu eksperymentuję.

To nie działa w Pythonie:

G = None

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

foo()

Dostaję błąd:

UnboundLocalError: local variable 'G' referenced before assignment

Co ja robię źle?

questionAnswers(4)

yourAnswerToTheQuestion