Lerne Coding
Buchkritik "Python 3 Programmieren für Einsteiger"
11.11.2019

Python 3 Buch für Einsteiger geeignet?

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]
access_timeGeschätzte Lesezeit ca. 7 Minuten

Als der BMU Verlag, auf mich zukam und mir anbot, eine Kritik zu einem Buch meiner Wahl zu verfassen, entschied ich mich für das Buch "Python 3. Programmieren für Einsteiger: Der leichte Weg zum Python-Experten". Das tat ich aus dem Grund, dass ich äußerst bewandert in Python bin, mich mit der Materie also bestens auskenne und eventuelle Unstimmigkeiten somit sehr schnell entdecken kann; und entsprechend eine fachbezogene Rezension schreiben kann.

Das Feedback bezieht sich auf die 2. Auflage aus dem Oktober 2018, ich habe das Buch als E-Book erhalten. Mir war wichtig, dass ich meine Kritik komplett frei von Vorgaben des Verlags verfassen kann, was letztendlich auch, so versicherte man mir, kein Problem darstellten sollte.

Fakten zum Buch

ISBN

978-3-96645-007-2

Titel

Python 3. Programmieren für Einsteiger: Der leichte Weg zum Python-Experten

Herausgeber

BMU Media GmbH

Autor

Michael Boncina

Preis (E-Book)

9,99€

Preis (Taschenbuch)

13,90 €

Preis (Hardcover)

21,99 €

Ein kleiner Überblick

Auf die ersten 3 Kapitel, ihre Auffälligkeiten und kleinen Mängel werde ich etwas genauer eingehen und an einigen Stellen Verbesserungsvorschläge machen.

Dem Einsteiger einen Überblick geben

Schenkt man dem Titel des Buches Glauben, so ist das es primär an Einsteiger gerichtet. Anfangs muss der Leser mit einer gehörigen Masse an Text kämpfen, ohne dass dieser zu einem Ziel führt. Der Rezipient erhält einen Überblick über die Entwicklung von Python. Es werden zu Beginn Begriffe wie "Unix" und "C" in den Raum geworfen, was meiner Meinung nach etwas problematisch ist, da Programmieranfänger damit vermutlich noch nicht viel anfangen können. Eine anschaulichere und einfachere Erklärung wäre folglich durchaus wünschenswert gewesen. Vielleicht hätte man sogar gleich den kompletten ersten Teil des Buches etwas zielorientierter und kompakter halten können - Lesern helfen viele Sätze, wie sie aktuell in der Einleitung zu finden sind, nicht weiter.

Die Vorbereitungs­maßnahmen

Kommen wir zum zweiten Kapitel. Dort lässt sich eine sehr gute und ausführliche Erklärung der Einrichtung von Python 3 auf Windows finden, was entsprechend für Windows-Nutzer durchaus positiv ist. Nutzer von Mac und Linux jedoch werden vollkommen außer Acht gelassen; hier kann man dem Autor allerdings noch zugute halten, dass Linux die Python-Pakete oftmals bereits vorinstalliert hat und eine Erklärung zur Einrichtung in diesem Falle womöglich etwas redundant gewesen wäre. Dennoch ist dies nicht der Fall für das Betriebssystem Mac, sodass eine Beschreibung der Einrichtung von Python 3 für Mac-Nutzer dringend erforderlich wäre, leider aber zu vermissen bleibt.

Kommandozeilenarbeit

Im Anschluss beginnt der Autor, Python erst einmal auf Kommandozeilen zu erklären, statt sofort mit einer Datei zu starten. Das ist meiner Meinung nach auch sehr erfreulich, kann doch der Einsteiger somit erst einmal sehen, was beispielsweise passiert, wenn er "A" schreibt, und somit eine bessere Übersicht über Befehle und Funktionen von Python erhält. Diese Art der Herangehensweise gefällt mir außerordentlich gut.

Danach folgen Kapitel zu den folgenden Themen:

  • Python-Programme in Dateien schreiben
  • Variablen verwenden
  • Listen, Dictionaries und Tuples
  • if/else/elif nutzen
  • Schleifen (for, while)
  • Funktionen
  • Mit Modulen arbeiten
  • Objektorientierung in Python
  • Ausnahmebehandlungen und Fehler abfangen
  • Daten speichern
  • Grafische Benutzeroberflächen mit Tkinter
  • Anwendungsbeispiel anhand eines Verwaltungsprogramms für Gebrauchtwagenhändler

Grundsätzlich gibt das Buch einem Einsteiger in eine Programmiersprache wie Python einen guten Überblick über grundlegendes Wissen, auf das dann im weiteren Verlauf noch aufgebaut werden kann.

Sicherheitslücke im Buch

Leider existiert in "Python 3. Programmieren für Einsteiger: Der leichte Weg zum Python-Experten" auch eine gravierende Sicherheitslücke, die sich durch alle Kapitel zieht, aber nicht genauer erklärt wird und ganz einfach im Raum stehen bleibt. Dafür steht exemplarisch der folgende Code.

inhalt = eval(input())

Folgendes passiert hier: Input ist eine Art, eine Nutzereingabe entgegenzunehmen. Die sogenannte "eval function" führt jeglichen Programmiercode aus. In dem Beispiel wird sie für eine Typenumwandlung verwendet, da Input immer eine String ist. Allerdings stellt diese Art der Umwandlung ein hohes Sicherheitsrisiko dar, da der Nutzer jeglichen Schadencode so in das Programm inkludieren könnte. Im ersten Beispiel im Buch wird eine Zahl erwartet.

Die eval function wird mit der Begründung verwendet, dass der geforderte Typ noch nicht festgelegt ist. Allerdings wird auch dargelegt, das Zeichenketten Strings zu Fehlern führen, da diese von der eval function ausschließlich mit "richtig" intepretiert werden.

Mittels int(), float() und string() lässt sich eine deutlich sicherere Typenumwandlung durchführen.

Ich persönlich halte es für fahrlässig, nicht auf das immense Sicherheitsrisiko einer eval function hinzuweisen; insbesondere, da Anfänger nicht wissen können, wie sie eine solche Funktion korrekt zu bewerten haben!

Design und Layout

Ich finde es sehr erfreulich, dass im gesamten Buch durchgehend eine ausreichende Menge an Beispielcodes präsentiert wird. Zusätzlich lässt sich ein weiteres PDF mit Beispielen von der Webseite des Verlags herunterladen.

Es werden wichtige Informationen durch Hinweisboxen deutlich hervorgehoben, was dem Leser einen guten Überblick über dringend zu beachtende Gegebenheiten verschafft.

Allerdings muss die Tatsache bemängelt werden, dass auf einigen der im Buch angebrachten Screenshots noch der Hintergrund zu sehen ist. Ein sauberer Screenshot vom Programm sollte auf jeden Fall zu erstellen möglich sein. Teilweise gibt es bei einigen Screenshots auch überaus unnötige farbliche Passagen mit kleinem blauen Rand. Die Farbe wäre an dieser Stelle besser in Syntax Highlighting investiert gewesen, denn das Nachvollziehen längerer Codespalten ohne jegliche farbliche Hervorhebung war hin und wieder durchaus anstrengend und hätte dem Rezipienten vereinfacht werden können.

Kritik an Beschreibung im Shop

Auf der Webseite und bei Amazon wird folgender Satz zur Headline angebracht: "Das erwartet Sie im Buch: [...]"

Die Datenbankanbindung mit MySQL wird ausführlich erklärt!

Allerdings konnte ich im Buch kein einziges Mal das Wort MySQL finden, geschweige denn eine Erklärung, was das ist und wie man damit arbeitet, was überaus schade war.

Stand: 4.4.2020 - In der Shop Beschreibung wurde der Abschnitt zu MySQL Entfernt

Fazit

Für mich persönlich war "Python 3. Programmieren für Einsteiger: Der leichte Weg zum Python-Experten" etwas zäh zu lesen, an einigen Stellen fiel der Autor etwas ins Schwafeln und das eigentliche Ziel, dem Leser das Programmieren beizubringen und ihm oder ihr die eventuelle Angst zu nehmen, war manchmal leider nicht mehr zu erkennen.

Die Themenwahl und die erfrischende Art der Herangehensweise jedoch muss gelobt werden! Der Umgang mit dem Thema und der Heranführung des Lesers an das Programmieren war ein neuer und ungewohnter, aber vor allem ein sehr effizienter. Um das Programmieren in Python zu lernen bietet das Buch sicherlich einen guten Einstiegspunkt, sofern man denn die Sicherheitslücke zu jeder Zeit im Hinterkopf behält.

Ich werde meine Kritik an den Verlag weiterleiten und mal schauen, was er in den kommenden Auflagen des Buches anpassen wird. Die Beschreibung des Buches im Online-Shop sollte sich, denke ich, schnell anpassen lassen.

Kommentare zum Artikel

Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "Buchkritik "Python 3 Programmieren für Einsteiger""!

Kommentar schreiben

Verwante Beiträge
close