Menu
Coddy logo textTech

Konstruktor-Methode (__init__)

Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 7 von 64.

Die __init__-Methode ist eine spezielle Methode, die automatisch ausgeführt wird, wenn Sie ein neues Objekt erstellen. Sie initialisiert die Attribute des Objekts.

Hier ist ein Beispiel für eine Klasse mit einem Konstruktor:

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

Die __init__ Methode nimmt Parameter entgegen und weist sie Instanzattributen unter Verwendung von self zu.

Erstellen Sie Objekte mit dem Konstruktor:

rex = Dog("Rex", "German Shepherd")
buddy = Dog("Buddy", "Golden Retriever")

Wenn Sie Dog("Rex", "German Shepherd") aufrufen, ruft Python automatisch __init__ auf und übergibt die Argumente.

Greifen Sie auf die Attribute zu, die vom Konstruktor gesetzt wurden:

print(rex.name)
print(rex.breed)
print(buddy.name)
print(buddy.breed)

Ausgabe:

Rex
German Shepherd
Buddy
Golden Retriever

Sie können auch einen Konstruktor mit Standardwerten haben:

class Cat:
    def __init__(self, name, age=1):
        self.name = name
        self.age = age

# Katzen erstellen
fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # age ist standardmäßig 1

print(f"{fluffy.name} is {fluffy.age} years old")
print(f"{whiskers.name} is {whiskers.age} years old")

Ausgabe:

Fluffy is 3 years old
Whiskers is 1 years old

Kernpunkt: Die __init__-Methode stellt sicher, dass jedes Objekt bei der Erstellung ordnungsgemäß mit seinen Anfangsdaten eingerichtet wird. Sie erspart Ihnen das manuelle Setzen von Attributen nach der Objekterstellung.

challenge icon

Aufgabe

Einfach

Ihnen werden Python-Dateien (book.py und driver.py) zur Verfügung gestellt, um ein Buchverwaltungssystem zu implementieren. In dieser Challenge definieren Sie eine Book-Klasse in einer Datei, die in einer anderen importiert und verwendet wird.

Ihre Aufgabe ist es:

  • Vervollständigen Sie die Book-Klasse in book.py mit einer __init__-Methode, die die Attribute title, author und pages initialisiert
  • Die Datei driver.py wird Ihre Book-Klasse importieren und verwenden, um ein Buch-Objekt für "Harry Potter" by "J.K. Rowling" with 400 pages zu erstellen

Folgen Sie den detaillierten TODO-Kommentaren in der book.py .

Spickzettel

Die __init__-Methode ist ein Konstruktor, der automatisch ausgeführt wird, wenn ein neues Objekt erstellt wird, um dessen Attribute zu initialisieren:

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

Erstellen Sie Objekte, indem Sie die Klasse mit Argumenten aufrufen:

rex = Dog("Rex", "German Shepherd")
print(rex.name)  # Rex
print(rex.breed)  # German Shepherd

Konstruktoren können Standardparameterwerte haben:

class Cat:
    def __init__(self, name, age=1):
        self.name = name
        self.age = age

fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # age hat den Standardwert 1

Probier es selbst

# TODO: Importiere die Klasse Book aus book.py
# Verwende dieses Format: from book import Book

# TODO: Erstelle ein Buch-Objekt namens 'my_book' mit den folgenden Werten:
# - title: "Harry Potter"
# - author: "J.K. Rowling"
# - pages: 400
# Beispiel: my_book = Book("Title", "Author", pages)

# Buchdetails drucken
# TODO: Stelle sicher, dass my_book ordnungsgemäß definiert ist, bevor diese Zeile ausgeführt wird
print(f"'{my_book.title}' by {my_book.author}, {my_book.pages} pages")
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Object Oriented Programming