FLUG Logo

Freiburger Linux User Group


Python Cookbook

Buchinformationen:
Alex Martelli, Anna Ravenscroft & David Ascher. Python Cookbook. (Probekapitel: Time and Money.) 2nd Edition April 2005. O'Reilly. ISBN 0-596-00797-3. 844 Seiten. 48 Euro.
Rezensent: Uwe Zeisberger (05/2005) für die Freiburger Linux User Group.

Das Buch

Das Python Cookbook ist eine Zusammenstellung von "Rezepten" aus dem online cookbook (http://aspn.activestate.com/ASPN/Cookbook/Python/). Die Ideen von über 300 Autoren wurden in das Buch aufgenommen.

Im Vergleich zur ersten Auflage wurden nur noch die neueren Versionen von Python (2.3 und 2.4) berücksichtigt. Einige Rezepte wurden dazu aus der alten Auflage übernommen, überarbeitet und vereinfacht; andere sind ganz neu, da sie z.B. Möglichkeiten von Python nutzen, die es zur Zeit der ersten Auflage so noch nicht gab -- etwa Generatoren und Dekoratoren.

Jedem Kapitel geht ein Vorwort voran, das von einer Größe der Pythonwelt verfasst wurde. Um nur ein paar zu nennen: Raymond Hettinger, Tim Peters und Guido van Rossum.

Der Leser

Das Python Cookbook ist für Programmierer, die schon mit Python umgehen können. Da auch Teile von Python vorgestellt sind, die ganz neu oder unbekannt sind, kann auch der fortgeschrittene und Profi-Programmierer noch viel lernen.

Die Rezepte

Jedem Rezept geht eine Fragestellung voraus, für die dann im Weiteren Lösungsvorschläge erarbeitet werden. Die Komplexität dieser Fragestellungen reicht von einfachen und sehr allgemeinen Problemen mit einzeiligen Lösungen ("Getting a Value from a Dictionary") zu spezielleren und entsprechend komplexeren Problemen ("Combining GUIs and Asynchronous I/O with Threads").

Zunächst wird dann in ein bis zwei Sätzen eine Idee beschrieben, der eine Implementation folgt. Das eigentlich wertvolle dieser Rezepte ist die dem Lösungsvorschlag folgende Diskussion der Ideen und Entscheidungen, die zu der Implementation führten. Hier lernt man, wie man seinen Code noch optimieren kann und welche Alternativen es unter welchen Bedingungen gibt.

Jedes Kapitel ist einem Thema gewidmet. Diese Themen reichen von Algorithmen zum Suchen und Sortieren über verteilte, Netzwerk- und Web-Programmierung bis hin zu spezielleren Bereichen wie XML und GUIs.

Nicht alle Rezepte sollen ein bestimmtes Problem lösen, es gibt auch Vorschläge, die das Programmieren mit Python ganz allgemein vereinfachen können. So gibt es ein ganzes Kapitel über Debugging, in dem z.B. ein Skript vorgestellt wird, mit dem man automatisch den pdb startet, wenn eine nicht abgefangene Ausnahme in einer interaktiven Session auftritt.

Fazit

Was ich das schöne an diesem Buch finde, ist dass es sich sowohl als Nachschlagewerk eignet als auch einfach zum stöbern. Seit ich das Buch habe, liegt es beim Programmieren meist offen neben mir. Aber auch ohne Computer in Reichweite macht es mir viel Spass neue Sachen daraus zu lernen.

An den Lösungen, die das Python Cookbook bietet, sieht man, dass Pythen schon für sehr viele Probleme eine Lösung mitbringt. Deshalb sind die Vorschläge auch oft sehr einfach und kurz. Trotzdem sind die Vorschläge bei weitem nicht trivial, da man zum einen die vorhandenen Möglichkeiten erst kennen muss und zum anderen durch die Diskussion am Ende der Rezepte die Chance bekommt, das gestellte Problem nicht nur zu lösen sondern zu verstehen.

PS: Das Covertier ist ein springhaas (Pedetes capensis).