Buchbesprechung: Praxishandbuch Python 3

Anhand zahlreicher Beispiele aus der Mathematik führt der Autor Python-Entwickler an problemlösende Programmierung heran.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: Kateryna Mostova/Shutterstock.com)

Von

Felix Bittmann
Praxishandbuch Python 3
Konzepte der Programmierung verstehen und anwenden

BoD – Books on Demand, Norderstedt, Mai 2020
240 Seiten, ab 5,99 € (Paperback, PDF etc.)
ISBN: 978-3751900584

Python ist eine jener Programmiersprachen und Entwicklungsumgebungen, für die es nicht an Büchern mangelt. Eher selten finden sich darunter allerdings Werke wie das vorliegende Praxishandbuch Python 3 von Felix Bittmann, das die Verwendung der Sprache im Zusammenspiel mit der Vermittlung von ingenieurwissenschaftlichen Vorgehensweisen demonstriert und Leserinnen und Lesern so einen Werkzeugkasten zum Lösen eigener Probleme an die Hand gibt.

Nach einer kurzen Vorstellung einiger verzwickter Syntaxaspekte erklärt Bittmann seine Vorgehensweise zur angewandten Programmierung. Als erstes praktisches Beispiel dient die Berechnung der Fibonacci-Folge, die hier nicht nur auf rekursive Art und Weise erfolgt. Schon in diesem ersten Abschnitt präsentiert das Buch zudem Aufgaben, die zur eigenständigen Vertiefung der vorliegenden Fragen und Problemstellungen animieren.

Praxishandbuch Python 3 – Konzepte der Programmierung verstehen und anwenden

(Bild: BoD)

Das nur auf den ersten Blick einfache Collatz-Problem (auch (3n+1)-Vermutung genannt) nutzt der Autor als Überleitung zur Berechnung des Werts von Pi. Nach einer leicht verständlichen Erklärung der zugrundeliegenden trigonometrischen Gesetze berechnet Bittmann Pi unter Verwendung einer entrollten Arcustangens-Funktion, um damit auch die mit limitierter Genauigkeit verbundenen Probleme beim Verwenden des Datentyps Decimal zu demonstrieren.

Im weiteren Verlauf der Behandlung von Numerik-Themen widmet sich der Autor der Ulam-Spirale, die der einfachen grafischen Darstellung von Primzahlen dient. Anhand ihrer Berechnung macht Bittmann deutlich, dass Python-Entwickler den Rechenleistungsbedarf der entstehenden Algorithmen nicht unterschätzen beziehungsweise ignorieren sollten. Unterstützend stellt Bittmann außerdem einige Methoden zur Optimierung rekursiver Verfahren vor. Mit einer Übung zum Backtracking schließt die Besprechung rein numerischer Prozesse ab.

Dank zuverlässiger Zufallsgeneratoren lassen sich technische Fragen auch mit alternativen Herangehensweisen lösen, wie das Praxishandbuch Python 3 bereits beim Berechnen der Kreiszahl Pi angedeutet hat. Neben Ausblicken auf statistische Methoden und das Einbinden von immer mehr Python-Bibliotheken wendet sich der Autor Microbenchmarks zu, wie sie für Leistungsmessungen kurzer Code-Abschnitte verwendet werden. In seinen Ausführungen zu Speedtest zeigt er Möglichkeiten auf, Microbenchmarks auf bequeme Art und Weise durchführen zu können.

Vor dem Game of Life, das schon angesichts seiner historischen Relevanz nicht fehlen darf, widmet Bittmann auch dem Random-Walk-Theorem einige Aufmerksamkeit – nicht ohne wie zuvor schon bei Pi die dahinterstehende Mathematik und insbesondere die Trigonometrie geradezu liebevoll zu erklären.

Die darauffolgenden Abschnitte beschäftigen sich mit agentenbasierter Simulation. Neben der Simulation der Population einer Schafherde auf der Weide geht der Autor auch dem Würfelspiel Pig auf den Grund. Dessen auf den ersten Blick simpel erscheinendes Problem, bei dem zwei oder mehr Spieler versuchen, als erste 100 Punkte zu erreichen, stellt angehende Simulationsdesigner allerdings rasch vor große Herausforderungen.

Der abschließende Themenkreis des Buches deckt das Verarbeiten von Zeichenketten ab. Um sich beispielsweise mit natürlicher Sprache auseinanderzusetzen, nutzt der Autor im ersten Schritt einige öffentlich zugängliche Wörterbücher, in denen er auf die Suche nach Anagrammen geht. Darüber hinaus geben Versuche zu LCS (Longest Common Subsequence) und LPS (Longest Palindrome Subsequence) einen ersten Einblick in mathematische Aufgaben, die in Bereichen wie der (Human-)Genetik anzutreffen sind. Weitergehende Überlegungen zur Streichholzarithmetik und dem Parsen römischer Zahlen dienen als Übergang zur finalen Aufgabe, in der es gilt, eine Version des einfachen, populären Spiels 2048 umzusetzen.

Am Ende entlässt der Autor Leserinnen und Leser aber nicht, ohne ihnen noch einige Anregungen zum Selbststudium mit auf den Weg zu geben. In einem kurzen Schlusskapitel erfahren angehende Python-Entwickler, wie sie ihre eigenen Fähigkeiten selbsttätig verbessern können.

Books-on-Demand-Büchern haftet gelegentlich der Ruf an, nicht mit der Qualität traditioneller Verlagsarbeit mithalten zu können. Im Fall von Bittmanns Buch kann davon aber keine Rede sein – der didaktische Aufbau ist vorbildlich, das in LaTeX angelegte Layout übersichtlich und klar strukturiert. Die reiche Bebilderung verschafft Lesern rasche und detaillierte Einblicke. Anlass zu Kritik gibt allenfalls der fehlende Index am Ende – außerdem wäre ein kleiner Abschnitt mit den Lösungen der Aufgaben hilfreich gewesen.

Bittmann schlägt mit dem Praxishandbuch Python 3 einen weiten Bogen: Das Werk stellt fortgeschrittene Aspekte der Python-Syntax vor und gibt Lesern auch Lösungswege an die Hand, um alltägliche wissenschaftliche Probleme zu meistern. Wer Gefallen an Lehrbüchern wie Guido Krügers „Programmieren in C“ hatte, findet hier einen gelungenen Begleiter durch die vielseitige Welt der Sprache Python.

Tam Hanna
befasst sich seit dem Jahr 2004 mit Handcomputern und Elektronik. Derzeit liegt sein Fokus auf interdisziplinären Anwendungen von Informationstechnologie.

(map)