Bisher haben wir vordefinierte Objekte verwendet und uns mit den Eigenheiten mutierender Methoden vertraut gemacht. In diesem Kapitel werden wir eigene Objekte definieren. Zunächst definieren wir eigene Objekte ohne mutierende Methoden zur Darstellung rationaler Zahlen. Später definieren wir Objekte zur Darstellung von Bankkonten, deren Zustand mit Hilfe mutierender Methoden verändert werden kann.
Objekte fassen einen Zustand und darauf definierte Operationen zusammen. Der Zustand wird dabei in sogenannten Attributen gespeichert, die Operationen mit Hilfe sogenannter Methoden definiert. Objekte sind immer Instanzen sogenannter Klassen, die festlegen, welche Attribute und Methoden zu ihr gehörige Objekte haben.
Als Einführung in die Objektorientierte Programmierung in Python, aber auch zur Vertiefung geeignet ist der Artikel Python Classes: The Power of Object-Oriented Programming.