Python „prywatny” mangling nazwy i atrybuty instancji względem klasy

Piszę dekorator, który potrzebuje dostępu do zmiennych prywatnych i znalazł tę rozbieżność. Czy ktoś może to wyjaśnić?

(Python 2.5)

Rozmieszczanie nazw działa zgodnie z oczekiwaniami dla atrybutów zdefiniowanych w klasie:

>>> class Tester(object):
...    __foo = "hi"

>>> t = Tester()
>>> t._Tester__foo
'hi'

Atrybuty instancji nie działają (i tak właśnie powinniśmy to zrobić prawidłowo?)

>>> class Tester(object):
...     def __init__(self):
...         self.__foo = "hi"

>>> t = Tester()
>>> t._Tester__foo
AttributeError: 'Tester' object has no attribute '_Tester__foo'

P.S. Czy „atrybut klasy” jest odpowiednim słowem? Nie są statyczne, ale jeśli utworzysz jedną z tych list lub inny zmienny typ, zostanie on udostępniony ...

Aktualizacja

W rzeczywistości drugi przykład działa dobrze. To był problem ze sprzętem (ponowne uruchomienie pomogło).

questionAnswers(1)

yourAnswerToTheQuestion