Python meistern
Python meistern
Zusammenfassung:
Einleitung
Das Buch „Python meistern“ (Mastering Python) von Rick van Hattem ist keine weitere Einführung in die Syntax der Sprache, sondern ein umfassender Leitfaden für diejenigen, die bereits sicher in Python programmieren und auf das nächste Level gelangen möchten. Die 2022 erschienene zweite Auflage behandelt die Python-Versionen 3.9 und 3.10, einschließlich der neuesten Funktionen wie Match-Ausdrücke und verbesserte Typannotationen. Der Umfang beträgt 710 Seiten dichten technischen Texts, der oberflächliches Lesen nicht verzeiht, den nachdenklichen Leser jedoch reichlich belohnt.
Auf dem Bildungsportal PythonLib erhalten wir häufig Anfragen: „Was soll ich nach dem Grundkurs lesen?“. Die Antwort ist eindeutig – dieses Buch. Es lehrt nicht, „einfach funktionierenden Code“ zu schreiben, sondern zu denken wie ein Werkzeugentwickler, nicht wie ein Benutzer.
Worum geht es in dem Buch
Das Buch besteht aus 16 Kapiteln, die jeweils einem eigenen Fachgebiet gewidmet sind. Der Autor führt den Leser konsequent von der fortgeschrittenen Arbeit mit Datenstrukturen über Metaprogrammierung bis hin zu Debugging und Leistungsoptimierung.
- Kapitel 1–3: Fortgeschrittene Datentypen, Collections, Iteratoren und Generatoren. Hier erfahren Sie, wie Sie effizient mit Speicher umgehen und eigene iterierbare Objekte erstellen.
- Kapitel 4–6: Funktionale Programmierung in Python – Dekorateure, Closures, functools, itertools. Der Autor zeigt, wie man sauberen, deklarativen Code ohne Seiteneffekte schreibt.
- Kapitel 7–9: Metaprogrammierung und Reflexion. Sie lernen, Klassendekorateure zu erstellen, Attribute abzufangen, mit Metaklassen zu arbeiten und eigene Deskriptoren zu schreiben.
- Kapitel 10–12: Asynchrone Programmierung (asyncio, Coroutinen, Event Loop), Multithreading und Multiprozessing. Besonderes Augenmerk liegt auf dem GIL und Möglichkeiten, ihn zu umgehen.
- Kapitel 13–14: Testen (unittest, pytest, mock) und Debugging (pdb, Profiling).
- Kapitel 15–16: Leistungsoptimierung, C-Erweiterungen, Cython, Numba und Projektverpackung.
Für wen ist dieses Buch geeignet
Das Buch richtet sich an Middle- und Senior-Entwickler sowie an diejenigen, die von der Kategorie „Sprachanwender“ in die Kategorie „Experte“ wechseln möchten. Wenn Sie bereits mehrere Projekte mit Django, Flask oder FastAPI geschrieben haben, aber das Gefühl haben, nicht vollständig zu verstehen, wie Python selbst funktioniert – dann ist dieses Buch für Sie.
Anfängern ist das Buch nicht zu empfehlen: Der Autor erklärt keine grundlegende Syntax, erläutert nicht, was eine Variable oder eine Schleife ist. Es wird vorausgesetzt, dass der Leser Python auf einem Niveau beherrscht, das zum Schreiben von Production-Code ausreicht.
Was der Leser lernen wird
- Wie man die erweiterten Funktionen der Module
collections,itertoolsundfunctoolsnutzt, um effiziente Algorithmen zu erstellen. - Prinzipien der funktionalen Programmierung und deren Umsetzung in Python (Dekorateure, partielle Anwendung, Currying).
- Techniken der Metaprogrammierung: Metaklassen, Deskriptoren, Operatorüberladung, Erstellung von DSLs.
- Asynchrone Programmierung „von innen heraus“: Wie der Event Loop funktioniert, wie man Blockaden vermeidet, wie man asynchrone APIs entwirft.
- Werkzeuge für Profiling und Optimierung: cProfile, memory_profiler, dis, timeit.
- Schreiben von C-Erweiterungen mit Cython und ctypes.
- Moderne Testpraktiken: Property-basiertes Testen (Hypothesis), Mocking, pytest-Fixtures.
Stärken
Tiefe ohne überflüssige Fülltexte. Jedes Kapitel enthält nicht nur Theorie, sondern reale Beispiele aus der Praxis des Autors. Rick van Hattem ist Core-Entwickler von CPython, daher sind seine Erklärungen der internen Funktionsweise des Interpreters präzise und autoritativ.
Aktualität. Das Buch wurde für Python 3.10 geschrieben, was es zu einem der aktuellsten auf dem Markt macht. Behandelt werden match/case, strukturelle Typisierung und neue Funktionen von dataclasses.
Praktische Ausrichtung.
Empfehlungen
Go (Golang) und Docker: Containerisierung von Anwendungen
API-Entwicklung mit Rust: Von den Grundlagen bis zur Produktion
Parallelität in C++: Ein praktischer Leitfaden zur Multithread-Programmierung
Rust für Data Science: Leistung und Sicherheit in der Praxis
Nebenläufigkeit in Kotlin: Von den Grundlagen zu fortgeschrittenen Mustern
Cython: Ein Leitfaden für Python-Programmierer