Skip to Content
Fließendes Python, 2. Auflage
book

Fließendes Python, 2. Auflage

by Luciano Ramalho
August 2024
Intermediate to advanced
1014 pages
26h 54m
German
O'Reilly Media, Inc.
Book available
Content preview from Fließendes Python, 2. Auflage

Kapitel 24. Klasse Metaprogrammierung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Jeder weiß, dass das Debuggen doppelt so schwer ist wie das Schreiben eines Programms. Wenn du also beim Schreiben so schlau bist, wie du sein kannst, wie willst du es dann jemals debuggen?

Brian W. Kernighan und P. J. Plauger, Die Elemente des Programmierstils1

Klassen-Metaprogrammierung ist die Kunst, Klassen zur Laufzeit zu erstellen oder anzupassen. Klassen sind in Python Objekte erster Klasse, so dass mit einer Funktion jederzeit eine neue Klasse erstellt werden kann, ohne das Schlüsselwort class zu verwenden. Klassendekoratoren sind ebenfalls Funktionen, die jedoch dazu dienen, die dekorierte Klasse zu untersuchen, zu ändern und sogar durch eine andere Klasse zu ersetzen. Metaklassen schließlich sind das fortschrittlichste Werkzeug für die Klassen-Metaprogrammierung: Mit ihnen lassen sich ganz neue Kategorien von Klassen mit besonderen Eigenschaften erstellen, wie die abstrakten Basisklassen, die wir bereits gesehen haben.

Metaklassen sind mächtig, aber schwer zu rechtfertigen und noch schwerer richtig zu machen. Klassendekoratoren lösen viele der gleichen Probleme und sind einfacher zu verstehen. Außerdem hat Python 3.6PEP 487 - Einfachere Anpassung der Klassenerstellung implementiert und bietet spezielle Methoden, die Aufgaben unterstützen, für die zuvor Metaklassen oder Klassendekoratoren erforderlich ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python lernen, 5. Auflage

Python lernen, 5. Auflage

Mark Lutz
High Performance Python, 2. Auflage

High Performance Python, 2. Auflage

Micha Gorelick, Ian Ozsvald
Python in a Nutshell, 4. Auflage

Python in a Nutshell, 4. Auflage

Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire

Publisher Resources

ISBN: 9781098180362Supplemental Content