Python "private" Name Mangling und Instanz vs Klassenattribute

Ich habe einen Dekorateur geschrieben, der auf private Variablen zugreifen muss, und diese Diskrepanz festgestellt. Kann mir jemand das erklären?

(Python 2.5)

Das Benennen von Mangeln funktioniert erwartungsgemäß für Attribute, die in der Klasse definiert sind:

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

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

Instanzattribute funktionieren nicht (und das ist die Art und Weise, wie wir es richtig machen sollen?)

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

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

P.S. Ist "Klassenattribut" das richtige Wort für diese? Sie sind nicht statisch, aber wenn Sie eine davon zu einer Liste oder einem anderen veränderlichen Typ machen, wird sie geteilt ...

Aktualisieren

Tatsächlich funktioniert auch das zweite Beispiel einwandfrei. Es war ein Hardwareproblem (Neustart hat geholfen).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage