Доступ к закрытой переменной модуля из класса

Я пытаюсь понять правила области Python. Для этого я пытаюсь доступ "очень личное " переменная из класса в том же модуле

bar = "bar"
_bar = "underscore"
__bar = "double underscore"

def foo():
    print bar
    print _bar
    print globals()["__bar"]
    print __bar

class Foo:
    def __init__(self):
        print bar
        print _bar
        print globals()["__bar"]
        print __bar #NameError: global name '_Foo__bar' is not defined

foo()
Foo()

Это не сNameError, Я могу'Ничего об этом не найдете в спецификации. Итак, почему это не удается и где это поведение описано?

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

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