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 = breedDie __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 RetrieverSie 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 oldKernpunkt: 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.
Aufgabe
EinfachIhnen 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 inbook.pymit einer__init__-Methode, die die Attributetitle,authorundpagesinitialisiert - Die Datei
driver.pywird IhreBook-Klasse importieren und verwenden, um ein Buch-Objekt für"Harry Potter" by "J.K. Rowling" with 400 pageszu 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 = breedErstellen Sie Objekte, indem Sie die Klasse mit Argumenten aufrufen:
rex = Dog("Rex", "German Shepherd")
print(rex.name) # Rex
print(rex.breed) # German ShepherdKonstruktoren 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 1Probier 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")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
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktor-Methode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlagen der VererbungDie super()-FunktionMethoden überschreibenMehrfachvererbungMethod Resolution OrderZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden
Einführung in Magic MethodsOperator-ÜberladungMagic Methods für ContainerRückblick - Eigene Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung2Dekoratoren
Einführung in DekoratorenProperty-DekoratorStatischer Methoden-DekoratorKlassenmethoden-Dekorator5Polymorphismus
Methoden-Überschreiben vertieftDuck TypingAbstrakte Klassen und MethodenInterface-DesignZusammenfassung – Formen-Rechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische und KlassenmethodenKlassendekoratorenContext Manager3Klasseneigenschaften
Instanz- vs. KlassenvariablenProperty-DekoratorenPrivate AttributeZusammenfassung – Bankkonto-Manager6Kapselung
Public, Protected, Private MemberZugriffsmodifikatorenInformation HidingProperty-Decorators für FortgeschritteneZusammenfassung - Studentenverwaltungssystem12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen