First page Back Continue Last page Overview Image

Klassenattribute

Klassenattribute gehören zur Klasse selbst. Sie werden von allen Instanzen geteilt und haben den gleichen Wert. Klassenattribute werden außerhalb aller Methoden definiert. Überlicherweise sind sie direkt unter dem Klassenheader positioniert.

>>> class A: ... a = "I am a class attribute!" ... >>> x = A() >>> y = A() >>> x.a 'I am a class attribute!' >>> y.a 'I am a class attribute!' >>> A.a 'I am a class attribute!'

Vorsicht, wenn man ein Klassenattribut ändern will. Man muss es immer mit der Notation ClassName.AttributeName tun und nicht über einen Instanznamen.

>>> x.a = "This creates a new instance attribute for x!" >>> y.a 'I am a class attribute!' >>> A.a 'I am a class attribute!' >>> x.a 'This creates a new instance attribute for x!'