8.2 Attribute 

Neben Methoden können Instanzen auch Attribute besitzen. Bei einem Attribut handelt es sich um eine Referenz, die mit einer Instanz verknüpft ist. Beispielsweise besitzt jede komplexe Zahl die Attribute real und imag, um auf ihren Real- bzw. Imaginärteil zuzugreifen.
>>> zahl = 5 + 6j
>>> zahl.real
5.0
>>> zahl.imag
6.0
Da ein Ausdruck der Form referenz.attribut selbst wieder eine Referenz ist, lässt er sich wie jede andere Referenz verwenden. Zum Beispiel kann er als Operand in Berechnungen auftreten oder in einer Liste gespeichert werden.
>>> zahl.real*zahl.real + 5*zahl.imag
55.0
>>> [1, zahl.imag, zahl.real]
[1, 6.0, 5.0]
Insbesondere kann die Instanz, auf die referenz.attribut verweist, selbst ein Attribut aaa besitzen, auf das dann mit referenz.attribut.aaa zugegriffen werden kann. Genauso funktioniert der Zugriff auf eine Methode der Instanz über referenz.attribut.methode(param1, param2).
Im Beispiel zeigt das Attribut real einer komplexen Zahl auf eine Gleitkommazahl, die ihrerseits eine Methode is_integer besitzt, um zu prüfen, ob es sich um eine ganze Zahl handelt.
>>> zahl.real.is_integer()
True
Hier wurde also über zahl.real auf den Realteil 5.0 der komplexen Zahl 5 + 6j zugegriffen und anschließend die Methode is_integer von 5.0 gerufen.
In Python-Programmen treten solche verschachtelten Attribut- und Methodenzugriffe häufig auf.