Magische Methoden (__str__, __repr__ usw.)
Tauchen Sie in die speziellen Methoden von Python ein, mit denen Sie das Verhalten von Objekten anpassen.
Magische Methoden (__str__, __repr__ usw.) ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 6 von 6. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 6 Lektionen.
Einführung in magische Methoden
Einführung in magische Methoden
Magische Methoden, auch Dunder-Methoden genannt (kurz für „double underscore“), sind spezielle Methoden in Python, mit denen Sie festlegen können, wie sich Objekte in bestimmten Situationen verhalten.
In dieser Lektion lernen Sie, wie Sie häufig verwendete magische Methoden wie __str__, __repr__ und weitere verwenden.

Was sind magische Methoden?
Was sind magische Methoden?
Magische Methoden sind vordefinierte Methoden in Python, die automatisch aufgerufen werden, wenn bestimmte Operationen mit Objekten ausgeführt werden. Sie sind an ihren doppelten Unterstrichen zu erkennen, etwa bei __init__ oder __str__.
Die __init__-Methode
Die __init__-Methode
Die __init__-Methode ist ein Konstruktor, der ein neues Objekt initialisiert. Sie wird automatisch aufgerufen, wenn ein Objekt erstellt wird:
# Using the __init__ method to initialize attributes
class Person:
def __init__(self, name, age):
self.name = name # Initialize the name attribute
self.age = age # Initialize the age attribute
# Creating an instance of Person
person = Person("Alice", 30)
print(person.name, person.age) # Outputs: Alice 30Die __str__-Methode
Die __str__-Methode
Die __str__-Methode legt die String-Darstellung eines Objekts fest, wenn print() aufgerufen wird:
# Defining the __str__ method
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Name: {self.name}, Age: {self.age}" # String representation
person = Person("Alice", 30)
print(person) # Outputs: Name: Alice, Age: 30Die __repr__-Methode
Die __repr__-Methode
Die __repr__-Methode liefert eine offizielle String-Darstellung eines Objekts, die häufig zum Debuggen verwendet wird:
# Defining the __repr__ method
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person('{self.name}', {self.age})" # Debug-friendly representation
person = Person("Alice", 30)
print(repr(person)) # Outputs: Person('Alice', 30)Operatoren mit magischen Methoden überladen
Operatoren mit magischen Methoden überladen
Sie können magische Methoden verwenden, um das Verhalten von Operatoren wie + oder == anzupassen:
# Overloading the + operator with __add__
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Point(self.x + other.x, self.y + other.y) # Adding two points
def __str__(self):
return f"({self.x}, {self.y})"
point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2 # Calls __add__
print(result) # Outputs: (4, 6)Häufig verwendete magische Methoden
Häufig verwendete magische Methoden
Hier sind einige häufig verwendete magische Methoden:
__len__: Legt das Verhalten der Funktionlen()fest.__getitem__: Ermöglicht die Indizierung wie bei einer Liste oder einem Dictionary.__eq__: Passt den Gleichheitsvergleich mit==an.
__len__ und __getitem__ verwenden
__len__ und __getitem__ verwenden
Sie können __len__ verwenden, um die Länge eines benutzerdefinierten Objekts festzulegen, und __getitem__, um es indizierbar zu machen:
# Using __len__ and __getitem__ in a custom class
class CustomList:
def __init__(self, items):
self.items = items
def __len__(self):
return len(self.items) # Defines the behavior of len()
def __getitem__(self, index):
return self.items[index] # Enables indexing
custom_list = CustomList([1, 2, 3])
print(len(custom_list)) # Outputs: 3
print(custom_list[1]) # Outputs: 2Häufige Fehler bei magischen Methoden
Häufige Fehler bei magischen Methoden
Hier sind einige Fehler, die Sie vermeiden sollten:
- Eine magische Methode definieren, ohne ihr vorgesehenes Verhalten einzuhalten.
- Operatoren unnötigerweise überladen.
- Erforderliche magische Methoden in benutzerdefinierten Datentypen nicht implementieren.
Was haben wir gelernt?
Was haben wir gelernt?
In dieser Lektion haben Sie Folgendes gelernt:
- Was magische Methoden sind und warum sie nützlich sind.
- Wie Sie häufig verwendete magische Methoden wie
__init__,__str__und__repr__verwenden. - Wie Sie Operatoren mithilfe magischer Methoden überladen.
Sehr gut! Fahren Sie mit dem nächsten Thema fort.

Häufig gestellte Fragen
Ist die Lektion „Magische Methoden (__str__, __repr__ usw.)“ kostenlos?
Ja — der vollständige Text von „Magische Methoden (__str__, __repr__ usw.)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 6 Lektionen.
Was lerne ich in „Magische Methoden (__str__, __repr__ usw.)“?
Tauchen Sie in die speziellen Methoden von Python ein, mit denen Sie das Verhalten von Objekten anpassen. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 6 von 6.
Wie lange dauert die Lektion „Magische Methoden (__str__, __repr__ usw.)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Klassen und Objekte
- Attribute und Methoden
- Vererbung
- Polymorphie
- Kapselung und Abstraktion
- Magische Methoden (__str__, __repr__ usw.)