Buchbesprechung: Python3 Schnelleinstieg



Hinweis: Frau Carina Weisweiler vom mitp-Verlag war so freundlich mir ein kostenloses Rezensionsexemplar dieses Buches zur Verfügung zu stellen mit der Bitte um Rezension und Feedback, der ich hiermit gerne nachkomme. Darüber hinaus habe ich keinerlei Geschäftsbeziehung mit dem Verlag oder mit dem Autor des Buches.

'Python3 Schnelleinstieg - programmieren lernen in 14 Tagen - Einfach und ohne Vorkenntnisse zum Profi' von Autor Michael Weigend (1. Auflage 2021) verspricht schon im "Programmieren lernen in 14 Tagen" und betont mit der aufgemalten 14-Tage (Stunden?)-Stoppuhr das Wort "schnell".

Preis-Leistungsverhältnis

Was kann man sich von diesem Buch erwarten? Für knapp 10 Euro ersetzt dieses Buch kein Informatikstudium, aber man bekommt 300 Seiten Python-Einführung mit Übungsaufgaben sowie ein kleines Stichwortverzeichnis.

Ein etwas ausführlicheres Glossar in welchem Fachbegriffe erklärt werden sowie Lösungen zu den Übungsaufgaben gibt es als kostenlosen Download auf der mitp.de Verlagswebsite.

Erfreulicherweise ist das E-book im Preis der Papierversion gleich inkludiert: Im Einleitungskapitel des (Papier)-Buches ist ein Code abgedruckt mit Hilfe dessen man sich das E-Book von der Verlagswebsite downloaden kann. Für den Download musste ich meinen Webbrowser von Chrome auf Firefox wechseln, da die Downloadsite einen Zertifikatsfehler auswies - ich nehme stark an dies ist ein vorübergehendes Problem und wird in Kürze behoben.

Source-code

Im Buch sind mehrere Source-Code Beispiele verteilt, alle angenehm kurz und gut überschaubar. Typischerweise gibt es pro Kapitel ein bis zwei kleine Beispiele, Übungsfragen mit Antworten sowie Übungsaufgaben zum selbst programmieren.

Gut gefallen hat mir das Fußnotensystem zur Erklärung von Code-Zeilen: Der Autor dokumentiert im Python-Code selbst nicht ausführlich, sondern nur mit einer Nummer, und erklärt die Bedeutung dieser Nummern dann im Text des Buches. Dadurch bleiben die Code-Beispiele klein und gut überschaubar.

An dieser Stelle kann ich mir eine Kritik nicht verkneifen: Auf Seite 4 steht der Urheberrechtshinweis: "Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt."

Streng genommen würde das bedeuten dass jeder der auch nur eine ''print'' Anweisung der abgedruckten Beispielprogramme in seinen eigenen Programmen verwendet (und diese vielleicht sogar publiziert!) vorher beim Verlag um Erlaubnis fragen soll.

Das Buch-Verlage generell ein -gelinde gesagt- leicht inkompatibles Verständnis zu (freiem) Programmcode haben ist die eine Sache. Das gleichzeitig der Autor weder die Lizenzierung von Python, noch die Lizenzierung von seinen Source-Code Beispiele im Besonderen sowie das Thema freie Software / Open-Source allgemein in seinem Buch erklärt ist bedauernswert.

Es findet sich lediglich eine Erwähnung auf Seite 279: "Viele »Pythonisten« oder »Pythoneers« arbeiten neben ihrem Beruf ehrenamtlich an Open-Source-Projekten mit". Hier würde ich mir für die nächste Auflage zumindest einen Absatz wünschen der erklärt dass Python selbst freie Software ist und was dies bedeutet.

Themen

Der Autor versucht in einem sehr kompakten Buch in sehr viele verschiedene Themen einzuführen. Zwangsläufig gehen diese Einführungen bei einem derart kompakten Buch nicht in die Tiefe. Ein wenig Neugierde und Bereitschaft zum selbstständig dazulernen wird beim Leser / bei der Leserin vorausgesetzt. Speziell an das Arbeiten mit der englischen Python-Dokumentation muss man sich als Leser selbst heranarbeiten: Das Buch bietet immer wieder hübsch gemachte Tabellen in welchen z.B. einige Parameter eines Python-Befehls erklärt werden, liefert aber meist keine vertiefenden Beispiele für diese Parameter und geht auch nicht näher auf die offizielle Python Hilfeseite ein. Es wird zumindest einmalig erklärt wie man mit Hilfe von help() einen Dokumentation anzeigt und interpretiert. Dokumentationen von Python-Befehlen aus der offiziellen Hilfe sinnvoll herauszulesen ist kein Problem für Leser mit Erfahrung in anderen Programmiersprachen, für die im Buchuntertitel angesprochenen "Leser ohne Vorkenntnisse" möglicherweise schon.

Interessant ist die Breite des Themenspektrums: Nicht nur die Klassiker wie prozedurales programmieren (Schleifen, Verzweigungen, Variablen), Objektorientierung (Klassen, Vererbung) werden angeschnitten, sondern auch GUI-Programmierung mit TKinter, Threading und sogar Webscraping und die Python Image Library (PIL). Auf Themen wie UML-Diagramme, Agile-Programming Methoden, Docstrings und Testing wird ebenfalls eingegangen.

Manche Konzepte werden mit Screenshots erklärt, andere mit teils nett gemachten Grafiken.

Anregungen

Angenehm im Zeitalter der schnell veralteten Sofware-versionen: Der Autor beschäftigt bezieht sich im Buch auf die aktuelle Python Version 3.9. Das brandneue "match case" statement, welches wahrscheinlich ab Python Version 3.10 implentiert wird, kommt im Buch noch nicht vor (vielleicht in der nächsten Auflage?).

Einige persönliche Verbesserungsvorschläge:

  • global keyword: Ich hätte gerne einen Hinweis gesehen darauf dass es Alternativen zur globalen Verwendung von lokalen Variablen mit dem global keyword gibt. Siehe auch: Why-is-using-the-global-statement-in-Python-a-bad-practice
  • import star import * bzw. from x import * : Der Autor erklärt auf Seite 115 sehr schön die verschiedenen Schreibweisen des import Statements. Was mir weniger gut gefällt ist dass er in einigen seiner Programmierbeispiele den Stern importiert (z.B.: from tkinter import *). Siehe auch Why is import * bad?
  • with statement: In vielen der Source Code Beispiele wird ein File mit open geöffnet, und dann mit close geschlossen, aber nie mit Hilfe des eleganten with Statements
  • deutsch vs. englisch: Im Buch verwendetet der Autor bei vielen Fachbegriffen konsequent die deutsche Übersetzung und erklärt meist im Text einmalig auch den dazugehörigen englischen Begriff, z.B. Listenabstraktion (list comprehension). In der Praxis wird man mit dem deutschen Begriff nicht weit kommen, mir wäre es umgekehrt lieber gewesen: Konsequent den englischen Begriff verwenden und einmalig eine deutsche Übersetzung anbieten.

Fazit

Michael Weigend ist Autor zahlreicher Python-Bücher; das hier besprochene "Python3 Schnelleinstieg" besticht vor allem durch den niedrigen Preis und den kleinen (!) Umfang. Dicke Wälzer mögen für manche Anfänger abschreckend wirken, dieses Buch bietet einen schnellen und unkomplizierten Einstieg in Python, der im Leser hoffentlich den Wunsch weckt sich erstmals mit der Programmiersprache zu beschäftigen und sich danach an ein ausführlicheres Buch zum Thema / an ein vertiefendes Selbststudium heranzutrauen.

Den Untertitel "Programmieren lernen in 14 Tagen - Einfach und ohne Vorkenntnisse zum Profi" sollte man mit einem Augenzwinkern verstehen, genauso wie die abgebildete 14-teilige Stoppuhr. Das Buch lässt sich bequem an 3 Nachmittagen auslesen, und sicherlich in 14 Programmier-sitzungen am Computer durcharbeiten. Profi ist man danach natürlich nicht, aber man ist mit vielen Python-Themen in Berührung gekommen und hat sich - vor allem wenn man die Übungsaufgaben selbstständig nach-programmiert - in die Programmiersprache Python eingearbeitet.

Links:




Contents © 2021 Horst JENS - This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License Creative Commons License.