Die Programmierung mit Python eröffnet dir viele Möglichkeiten, die über einfache Skripte hinausgehen. Eine zentrale Komponente in der objektorientierten Programmierung ist das Arbeiten mit Klassen. Sie bilden die Grundlage für Objekte und ermöglichen es dir, komplexe Datenstrukturen zu erstellen und zu verwalten. In dieser Anleitung wirst du lernen, wie du eigene Klassen in Python definierst, um ihre Eigenschaften und Methoden effektiv zu nutzen.

Wichtigste Erkenntnisse

  • Klassen sind der Schlüssel zur objektorientierten Programmierung in Python.
  • Ein initializer (Konstruktor) ermöglicht es dir, beim Erstellen einer Klasse spezifische Eigenschaften zu definieren.
  • Methoden in Klassen erlauben dir, Funktionen zu kapseln, die auf den Eigenschaften eines Objekts arbeiten.
  • Der Zugriff auf Eigenschaften erfolgt über den Punktoperator.

Schritt-für-Schritt-Anleitung

Beginnen wir mit den Grundlagen des Klassenaufbaus in Python. Zunächst musst du mit dem Keyword class eine neue Klasse definieren. Du kannst dies in deinem Python-Code wie folgt tun:

Eigene Klassen in Python erstellen

Hier haben wir eine leere Klasse namens Mitarbeiter. Du kannst sie zunächst ohne Parameter definieren, was bedeutet, dass die Klasse ohne spezifische Initialisierung erstellt wird. Das ist eine wichtige Grundlage, um sicherzustellen, dass du später keine Fehler beim Erstellen von Objekten erhältst.

Nun erstelle ein Objekt dieser Klasse. Dazu genügt es, den Klassennamen zu verwenden und eine leere Klammer zu setzen:

In diesem Fall haben wir ein Objekt Mitarbeiter, das wir gerade erstellt haben. Der nächste Schritt besteht darin, die Klasse um Eigenschaften zu erweitern. Zum Beispiel könntest du der Klasse Mitarbeiter einen Namen hinzufügen.

Zuerst musst du dafür einen Initializer definieren, der als Konstruktor deiner Klasse dient. Dies geschieht durch die Methode __init__.

Eigene Klassen in Python erstellen

Hier siehst du, wie ein __init__-Konstruktor definiert wird. Wir übergeben den Namen als Parameter und nutzen self, um den Namen für das aktuelle Objekt zu speichern.

Jetzt, da du eine Eigenschaft hast, kannst du beim Erstellen eines Objekts direkt einen Namen übergeben:

Eigene Klassen in Python erstellen

Wenn du nun das Objekt teilnehmer mit dem Namen "Jan" erstellst, wird der Name in der Instanz gespeichert. Über die Autovervollständigung kannst du überprüfen, ob der Name korrekt gesetzt wurde.

Um die Eigenschaften zu nutzen, kannst du sie mithilfe des Punktoperators aufrufen:

Eigene Klassen in Python erstellen

Das ist der Punkt, an dem du auf die Eigenschaften deines Objekts zugreifen kannst. In diesem Fall druckst du den Namen des Teilnehmers aus.

Zusätzlich zu Eigenschaften kannst du auch Methoden implementieren. Das Erstellen einer Methode funktioniert ähnlich wie das Definieren einer Funktion:

Eigene Klassen in Python erstellen

Hier definierst du die Methode anmelden. Beachte wieder, dass self automatisch als Parameter an die Methode übergeben wird, um auf die Instanz zuzugreifen. Bei der Anmeldung könnten wir beispielsweise eine Erfolgsmeldung drucken:

Eigene Klassen in Python erstellen

Wenn du die Methode anmelden aufrufst, sieht das wie folgt aus:

Eigene Klassen in Python erstellen

Hier rufst du die Methode auf der Instanz teilnehmer auf, was eine Rückmeldung zur Anmeldung gibt.

Schließlich können wir auch Parameter an Methoden übergeben, ähnlich wie bei Funktionen. Zum Beispiel eine Methode abmelden, die einen Parameter für vorzeitige Abmeldung erwartet:

Eigene Klassen in Python erstellen

Hier analysierst du, ob der Teilnehmer vorzeitig abgemeldet werden möchte, und gibst eine entsprechende Meldung aus.

ScreenShot_320

Das zeigt dir, wie interaktiv deine Klasse und Methoden werden können und wie sie auf Eingaben reagieren.

Abschließend sollten wir die grundlegenden Prinzipien, die wir kennengelernt haben, noch einmal zusammenfassen. Die Definition von Klassen besteht darin, Attribute und Methoden zu definieren, die für die dazugehörigen Objekte relevant sind. Der Konstruktor __init__ ist von zentraler Bedeutung, um Attribute beim Erstellen des Objekts zu setzen.

Zusammenfassung – Eigene Klassen in Python erstellen und nutzen

Durch das Verständnis und die Anwendung dieser grundlegenden Prinzipien kannst du in Python leistungsstarke und flexible Programme entwickeln. Du kannst Klassen erstellen, die spezifische Funktionen und Eigenschaften kapseln, um die Programmierung benutzerfreundlicher und effektiver zu gestalten.

Häufig gestellte Fragen

Wie definiere ich eine Klasse in Python?Verwende das Keyword class, gefolgt vom Klassennamen und einem Doppelpunkt.

Was ist der Zweck des __init__-Konstruktors?Er wird verwendet, um beim Erstellen eines Objekts Initialisierungen vorzunehmen.

Wie greife ich auf Eigenschaften eines Objekts zu?Nutze den Punktoperator, gefolgt vom Eigennamen, z.B. objekt.eigenschaft.

Könnte ich mehrere Parameter an eine Methode übergeben?Ja, du kannst Methoden definieren, die mehrere Parameter akzeptieren.

Könnte ich Funktionen innerhalb meiner Klassen verwenden?Ja, Methoden sind nichts anderes als Funktionen, die an einer Klasse gebunden sind.