Доступ к закрытой переменной модуля из класса
Я пытаюсь понять правила области 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
, Я могу'Ничего об этом не найдете в спецификации. Итак, почему это не удается и где это поведение описано?