So erstellen Sie eine Klasse in Python (objektorientierte Programmierung)

Erfahren Sie, wie Sie eine Klasse in Python erstellen. Beherrschen Sie den __init__-Konstruktor, die Instanzmethoden, das Schlüsselwort self und die Objektinstanziierung.

Probieren Sie diese Lösung im Editor aus

Übersicht

Objektorientierte Programmierung (OOP) ist ein leistungsstarkes Paradigma, das zur Modellierung realer Entitäten, zur Strukturierung von Anwendungen und zur Förderung der Wiederverwendbarkeit von Code verwendet wird. In Python ist alles ein Objekt und Klassen sind die Blaupausen, aus denen einzelne Objekte erstellt werden. Durch das Erstellen einer Klasse können Sie Datenattribute und Funktionen bündeln.

Um eine Klasse zu definieren, verwenden Sie das Schlüsselwort „class“, gefolgt vom Klassennamen (konventionell in PascalCase geschrieben). Innerhalb der Klasse ist die wichtigste Methode der Konstruktor: „__init__(self, ...)“. Diese spezielle magische Methode wird automatisch ausgeführt, wenn Sie die Klasse instanziieren und die Startdatenattribute des Objekts initialisieren.

Der Parameter „self“ stellt die spezifische Instanz der Klasse dar, die Sie gerade erstellen oder ändern. Jede Instanzmethode innerhalb der Klasse muss „self“ als erstes Argument akzeptieren. Instanzmethoden sind innerhalb der Klasse definierte Funktionen, die mit den Attributen des Objekts arbeiten und so eine saubere Kapselung der Logik ermöglichen.

Code- und Ausführungsausgabe

Dieses Skript veranschaulicht das Erstellen einer Klasse, das Definieren von Eigenschaften, Klasseninstanzmethoden und das Erstellen von Objekten.

# 1. Defining a class
class User:
    def __init__(self, username, email):
        self.username = username
        self.email = email
        self.active = True  # Default attribute

    def get_info(self):
        status = "Active" if self.active else "Inactive"
        return f"User: {self.username} | Email: {self.email} | Status: {status}"

# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")

# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)
Terminal-Ausgabe
User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.com

Schrittweise Umsetzung

  • Verwenden Sie das Schlüsselwort class, um die Klassenvorlage zu deklarieren.
  • Definieren Sie den Konstruktor __init__(self, ...), um Anfangsattribute einzurichten.
  • Fügen Sie Instanzmethoden hinzu, die self als ersten Parameter akzeptieren, um mit dem Objektstatus zu arbeiten.
  • Rufen Sie ClassName(...) auf, um eine neue Objektinstanz zu instanziieren und zu erstellen.

Häufig gestellte Fragen

Was stellt der Selbstparameter dar?

Es bezieht sich auf die spezifische Instanz des Objekts, das erstellt oder manipuliert wird. Es ist erforderlich, Attribute an die Instanz zu binden.

Kann eine Klasse Attribute haben, die von allen Instanzen gemeinsam genutzt werden?

Ja, das sind Klassenattribute. Definieren Sie sie direkt unter dem Klassenheader (außerhalb von __init__) und greifen Sie über ClassName.attribute darauf zu.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.