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.
Ü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)User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.comSchrittweise 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
Erfahren Sie, wie Sie Ausnahmen in Python mithilfe der Blöcke „try“, „exclusive“, „else“ und „finally“ behandeln. Schreiben Sie fehlerfreien und absturzsicheren Python-Code.
So verwenden Sie das Listenverständnis in PythonErfahren Sie, wie Sie Listenverständnisse in Python verwenden. Schreiben Sie prägnante Schleifen, wenden Sie bedingte Filter an und erstellen Sie Matrizen mit klarer visueller Syntax.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Variablen und Datentypen erklärt
Verstehen Sie Python-Variablen und Kerndatentypen (Strings, Ganzzahlen, Gleitkommazahlen, Boolesche Werte). Eine vollständige Einsteigeranleitung zur Speicherzuweisung in Python.
Spickzettel für Python-Wörterbuchmethoden
Lernen Sie Python-Wörterbuchmethoden. Vollständiges Referenzhandbuch für das Einfügen, Abrufen, Aktualisieren und Überprüfen von Schlüssel-Wert-Paaren.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.