Learn AI with Python · Lektion

Magic Methods (__str__, __repr__ usw.)

Befassen Sie sich mit Pythons speziellen Methoden zur Anpassung des Objektverhaltens.

Lektion 6 von 611 Schritte

Magic Methods (__str__, __repr__ usw.) ist eine kostenlose Learn AI with Python-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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 6 Lektionen.

Einführung in Magic Methods

Magic Methods, auch Dunder-Methoden genannt (kurz für „Double Underscore“), sind spezielle Methoden in Python. Sie ermöglichen es, festzulegen, wie sich Objekte in bestimmten Situationen verhalten.

In dieser Lektion lernen Sie, wie Sie gängige Magic Methods wie __str__, __repr__ und weitere verwenden.

Magic Methods (__str__, __repr__ usw.) — Illustration 1

Was sind magische Methoden?

Magische Methoden sind vordefinierte Methoden in Python, die automatisch aufgerufen werden, wenn bestimmte Operationen an Objekten ausgeführt werden. Sie sind an ihren doppelten Unterstrichen zu erkennen, wie bei __init__ oder __str__.

Die <code>__init__</code>-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 30

Die <code>__str__</code>-Methode

Die __str__-Methode legt die Zeichenfolgendarstellung 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: 30

Die <code>__repr__</code>-Methode

Die __repr__-Methode stellt eine offizielle Zeichenfolgendarstellung eines Objekts bereit, 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)

Operatorüberladung mit Magic Methods

Sie können Magic Methods 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 Magic Methods

Hier sind einige häufig verwendete Magic Methods:

  • __len__: Legt das Verhalten der Funktion len() fest.
  • __getitem__: Ermöglicht die Indizierung wie bei einer Liste oder einem Dictionary.
  • __eq__: Passt den Gleichheitsvergleich mithilfe von == an.

<code>__len__</code> und <code>__getitem__</code> verwenden

Sie können mit __len__ die Länge eines benutzerdefinierten Objekts festlegen und es mit __getitem__ indizierbar 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: 2

Häufige Fehler bei Magic Methods

Diese Fehler sollten Sie vermeiden:

  • Eine Magic Method zu definieren, ohne ihr vorgesehenes Verhalten zu berücksichtigen.
  • Operatoren unnötigerweise zu überladen.
  • Erforderliche Magic Methods in benutzerdefinierten Datentypen nicht zu implementieren.

Was haben Sie gelernt?

In dieser Lektion haben Sie Folgendes gelernt:

  • Was Magic Methods sind und warum sie nützlich sind.
  • Wie Sie gängige Magic Methods wie __init__, __str__ und __repr__ verwenden.
  • Wie Sie mithilfe von Magic Methods Operatoren überladen.

Sehr gut! Fahren wir mit dem nächsten Thema fort.

Magic Methods (__str__, __repr__ usw.) — Illustration 11
Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
53
Lektionen
225

Häufig gestellte Fragen

Ist die Lektion „Magic Methods (__str__, __repr__ usw.)“ kostenlos?

Ja — der vollständige Text von „Magic Methods (__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 Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 6 Lektionen.

Was lerne ich in „Magic Methods (__str__, __repr__ usw.)“?

Befassen Sie sich mit Pythons speziellen Methoden zur Anpassung des Objektverhaltens. Du übst Learn AI with Python 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 Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python 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 „Magic Methods (__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 Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-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

  1. Klassen und Objekte
  2. Attribute und Methoden
  3. Vererbung
  4. Polymorphie
  5. Kapselung und Abstraktion
  6. Magic Methods (__str__, __repr__ usw.)
← Zurück zu Learn AI with Python