@mephisto-online: Das war von mir nicht als Anfeindung gedacht. Ich hatte extra einen Smilie dahinter gesetzt, um klar zu machen dass das nicht böse gemeint war.
Ich bin oft sehr knapp und kippe einfach nur die Problempunkte kurz und hoffentlich halbwegs sachlich ab.
Zu den verlinkten Folien sollte man noch dazu sagen, dass man das Beispiel mit Vorsicht geniessen sollte. Das mit `__class__` sieht auf den ersten Blick vielleicht clever aus, aber ich vermute mal ganz stark das der Autor sich dabei keine Gedanken darüber gemacht hat was passiert wenn man `increment()` auf einer Unterklasse ausführt und welches `x`-Attribut dann vor und nach dem `increment()` auf welchem Klassenobjekt mit welchem Wert existiert. In der Praxis kommen Neuzuweisungen an Klassenattribute sowieso sehr selten vor, und wenn dann sollte man explizit den Klassennamen verwenden und nicht das `__class__`-Attribut auf einem Objekt, in der Hoffnung das wird schon die richtige Klasse sein.
Über ein Objekt kommt man an Klassenattribute auch direkt heran, also statt ``a.__class__.x`` würde man in der Praxis nur ``a.x`` schreiben.
Abschliessend: Was auch immer das ursprüngliche Problem war, wenn es sich nicht um Konstanten handelt die dann auf der Klasse definiert wurden, ist es wahrscheinlich nicht ganz koscher, denn etwas anderes als Konstanten macht nur in sehr wenigen Fällen Sinn.