Einführung in Dekoratoren
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 9 von 64.
Dekoratoren sind eine Möglichkeit, Funktionen und Klassen zu modifizieren oder zu erweitern, ohne deren ursprünglichen Code zu ändern. Sie verwenden das @-Symbol.
Hier ist ein Beispiel für einen einfachen Decorator:
def my_decorator(func):
def wrapper():
print("Before function runs")
func()
print("After function runs")
return wrapperWenden Sie den Decorator mit @ an:
@my_decorator
def say_hello():
print("Hello!")Rufen Sie die dekorierte Funktion auf:
say_hello()Ausgabe:
Before function runs
Hello!
After function runsDer @my_decorator entspricht dem Schreiben von:
def say_hello():
print("Hello!")
say_hello = my_decorator(say_hello)Aber die @ Syntax ist viel sauberer und einfacher zu lesen.
Kernpunkt: Decorators umschließen Funktionen, um zusätzliche Funktionalität hinzuzufügen, ohne den ursprünglichen Funktionscode zu ändern
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktormethode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDie super()-FunktionMethodenüberschreibungMehrfachvererbungMethodenauflösungsreihenfolgeWiederholung – Mitarbeiterhierarchie7Spezielle Methoden
Einführung in magische MethodenOperatorüberladungMagische Methoden für ContainerRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformBankensystemEntwicklung von SpielfigurenFahrzeugvermietungsservice2Dekoratoren
Einführung in DekoratorenProperty-DekoratorDekorator für statische MethodenDekorator für Klassenmethoden5Polymorphie
Methodenüberschreibung erneut betrachtetDuck-TypingAbstrakte Klassen und MethodenSchnittstellendesignRückblick – Formrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische Methoden und KlassenmethodenKlassen-DekoratorenKontextmanager3Klassenattribute
Instanz- vs. KlassenvariablenProperty-DecoratorsPrivate AttributeWiederholung – Bankkontoverwaltung6Kapselung
Öffentliche, geschützte, private MemberZugriffsmodifikatorenInformationsverbergungProperty-Decorators – FortgeschrittenWiederholung – System zur Verwaltung von Studentendaten12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und BenutzerklassenAusleihsystemSuchfunktionAdministrationsoberflächeTests und IntegrationÜbe selbstständig: Online-Python-Compiler