Über das Buch
Michael Kofler ist seit den 1990er Jahren einer der bekanntesten deutschsprachigen Fachbuchautoren für Linux, Datenbanken und Python. Sein Python — Der Grundkurs ist mit 450 Seiten für einen Einstieg eher umfangreich — man bekommt einiges für sein Geld.
Die zentrale Frage des Buches: Wie steige ich von null in Python ein, lerne die Sprache so weit, dass ich eigene Programme schreiben kann, und bekomme einen Geschmack davon, wofür Python in der Praxis genutzt wird? Im Vorwort verspricht der Autor, dass nahezu alle Beispiele auch auf Python-Installationen ab Version 3.7 laufen.
Bemerkenswert für die 3. Auflage 2024: ein eigenes neues Kapitel „Python lernen mit KI-Unterstützung" (Kap. 2, direkt nach Hello World) — ChatGPT wird explizit als Lernhilfe integriert, nicht als nachgelagertes Anhängsel.
Im Vorwort wird die Zielgruppe klar benannt: Lernende, die das Programmieren erst beginnen (Schul- und Uni-Einsteiger); Quereinsteiger aus Linux-Administration, Security, Naturwissenschaft, Finanzanalyse; und Selbstlerner mit dem Wunsch nach einem kompakten, in vertretbarer Zeit durcharbeitbaren Einstieg. Auf der Rückseite konkreter: „Maker, Auszubildende sowie Studierende der Informatik und anderer technischer Fächer". Der Autor benennt im Vorwort auch ehrlich den Grundkonflikt eines jeden Lehrbuchs: „Der Lernprozess verläuft naturgemäß viel angenehmer, wenn Sie parallel zu diesem Buch jemanden haben, dem Sie Fragen stellen können — sei es ein Freund, eine Bekannte, ein Lehrer oder eine Kursvortragende." Das KI-Kapitel adressiert diese Lücke teilweise.
Aufbau
Das Buch gliedert sich in zwei Teile plus Anhang.
Teil I — Python lernen (Kap. 1–14, S. 17–265) ist die klassische Spracheinführung:
von Installation und Hello World über das neue KI-Kapitel, Variablen, Operatoren,
Zahlen, Zeichenketten, Datum und Zeit, die Container-Typen, Verzweigungen und Schleifen
mit Pattern Matching, Funktionen mit funktionaler Programmierung und Generatoren,
Exceptions, OOP bis Vererbung, Module mit pip, und ein abschließendes Kapitel zu
Sprach-Interna.
Teil II — Python anwenden (Kap. 15–20, S. 269–403) sind sechs kurze Schaufenster-Kapitel: Dateien (inklusive JSON und XML), Netzwerk (Download, REST, Mailversand), Systemadministration plus MySQL/MariaDB-Zugriff, GUI mit Qt, Grafikprogrammierung und wissenschaftliche Anwendung mit dem ganzen NumPy/pandas/SciPy/Matplotlib-Stack — ergänzt um den neuen Abschnitt Python in Excel, ebenfalls eine Erweiterung der 3. Auflage.
Der Anhang liefert die Lösungen zu allen Wiederholungsfragen und Übungen am
Kapitel-Ende. Die Beispieldateien sind unter
rheinwerk-verlag.de/5882 herunterladbar,
organisiert in Verzeichnissen pro Kapitel (kap06/ für Kapitel 6 usw.).
Meine Bewertung
Die Selbstpositionierung trifft nur die halbe Wahrheit. Der Klappentext-Rückentext nennt die Zielgruppe konkreter — Maker, Auszubildende, Studierende technischer Fächer — und damit nicht den Schul-Einsteiger ohne jegliche Vorbildung.
Für komplette Programmier-Neulinge ist das Buch nur eingeschränkt geeignet. Schon
in Teil I werden fortgeschrittene Konzepte eingestreut, bevor die Grundlagen
abgeschlossen sind: List Comprehensions vor der if-Verzweigung (Kap. 8 vor Kap. 9),
die map-Funktion im Listen-Kapitel, Lambda-Funktionen und Rekursion direkt im
Funktions-Kapitel, das import-Statement wird in Beispielen verwendet, bevor Module
formal eingeführt werden (Kap. 13). Wer Programmieren zum ersten Mal lernt, kann an
solchen Stellen aussteigen. Für die wirklich anvisierte Zielgruppe — Quereinsteiger mit
technischem Hintergrund — ist das Buch dagegen treffsicher. Wer programmieren in einer
anderen Sprache schon kann oder zumindest Algorithmen-Grundverständnis mitbringt,
findet hier eine substanzielle und kompakte Einführung in den ganzen
Python-Sprachumfang.
Sprachlich ist das Buch klar, mit kurzen Absätzen und einem für Lehrbücher angenehmen Verzicht auf Marketing-Floskeln. Wo es heikel wird (Plattform-Eigenheiten, typische Stolperfallen), schreibt der Autor das aus und hilft dem Leser konkret weiter. Was die didaktische Verständlichkeit schmälert, ist die Reihenfolge: Begriffe tauchen mehrfach auf, bevor sie definiert sind, und einfache Konzepte stehen neben fortgeschrittenen, ohne dass das markiert würde. Für den Quereinsteiger kein Problem; für jemanden, der das Programmieren überhaupt erst lernt, schon.
Aufgefallen ist mir, wie Kofler auch Detail-Konstellationen einsortiert, die man
selten braucht: der @-Operator als Matrix-Multiplikation (Kap. 4), das Underscore
als Schleifenvariable (Kap. 9), die dataclasses als ergonomischer Klassen-Shortcut
(Kap. 12).
Ein ehrliches Eingeständnis darüber, was ein Lehrbuch im Alleingang nicht leisten kann, steht schon im Vorwort (S. 14):
„Der Lernprozess verläuft aber naturgemäß viel angenehmer, wenn Sie parallel zu diesem Buch jemanden haben, dem Sie Fragen stellen können — sei es ein Freund, eine Bekannte, ein Lehrer oder eine Kursvortragende."
Genau die Lücke, in die KI-Tutoren stoßen — der Autor nimmt sie eine Seite später mit Kap. 2 selbst auf. Die kleinen didaktischen Spannungen, von denen oben die Rede war, lassen sich an einer einzigen Stelle festmachen, Kap. 3.1 (S. 55):
„In Python-Variablen können Objekte jedes beliebigen Typs gespeichert werden. Python merkt sich den Typ und weiß somit, auf welche Art von Daten eine Variable verweist."
Der Begriff „Typ" wird hier eingeführt, ohne dass „Datentyp" vorher definiert wäre — das passiert erst zwei Seiten später in Sektion 3.2. Erfahrene Leser überlesen das; Einsteiger stoppen.
Gesamteindruck
Eine gute, kompakte Einführung in Python — der Klappentext stimmt, das Buch tut, was es verspricht. Auf 450 Seiten und für 16,90 € bekommt man eine ungewöhnlich substanzielle Abdeckung der Sprache: vom ersten Hello World über die Sprach-Interna bis in die Praxis-Schaufenster GUI, Netzwerk, Wissenschaft. Dass die 3. Auflage ein eigenes Kapitel zur KI-gestützten Programmier-Lernhilfe und einen Abschnitt zu Python in Excel mitbringt, zeigt, dass der Autor beim Aktualisieren mitdenkt. Praktischer Wermutstropfen: das Buchformat ist klein und liegt aufgeschlagen schlecht auf dem Schreibtisch — für ein Lehrbuch, das neben der Tastatur stehen soll, ein Manko.
Die Schwäche liegt in der didaktischen Architektur, nicht im Stoff: wer Programmieren schon kann, übergeht die Reihenfolge-Sprünge in den Grundlagen-Kapiteln. Wer es zum ersten Mal lernt, stolpert.
Für die im Klappentext ehrlich genannte Zielgruppe eine empfehlenswerte Wahl. Für komplette Programmier-Neulinge ohne jegliche IT-Vorbildung eher nicht erste Wahl; da wäre ein didaktisch strenger gestaffeltes Lehrbuch passender. Wer das Buch aber durcharbeitet, kommt mit einem soliden Python-Werkzeugkasten heraus.
Kapitel für Kapitel
Kapitel 1: Hello, World! (S. 17)
Installation und erste Schritte. Das Kapitel deckt Setup auf Windows, macOS und Linux ab und zeigt die Python-Shell als ersten Spielplatz.
Kapitel 2: Python lernen mit KI-Unterstützung (S. 37) — neu in der 3. Auflage
Neu hinzugekommenes Kapitel zur 3. Auflage. Behandelt ChatGPT als Lernhilfe — wie man Fragen stellt, Erklärungen einfordert, Beispielcode generiert. Andere KI-Werkzeuge wie Claude oder Copilot stehen nicht im Fokus.
Kapitel 3: Variablen (S. 55)
Einführung in Variablen, dynamische Typisierung und das Python-Typsystem. Datentypen werden in einer Tabelle in Sektion 3.2 vorgestellt.
Kapitel 4: Operatoren (S. 61)
Vollständige Übersicht über arithmetische, vergleichende und logische Operatoren —
inklusive Seltenheiten wie dem @-Operator für Matrix-Multiplikation.
Kapitel 5: Zahlen (S. 71)
Behandelt int, float, Decimal und Fraction, dazu Konvertierungen und
Genauigkeitsfragen. Am Ende ein Bypass-Hinweis: wer programmieren will statt
Datentyp-Tabellen zu lesen, kann zu Kap. 9 springen.
Kapitel 6: Zeichenketten (S. 80)
Strings, F-Strings als moderner Standard, Lokalisierung und ein erster Einstieg in
reguläre Ausdrücke (re-Modul). Am Kapitel-Ende: Wiederholungsfragen und Übungen.
Kapitel 7: Datum und Zeit (S. 100)
Das datetime-Modul: Zeitstempel, Zeitspannen, Formatierung, Konvertierung zwischen
Zeitzonen.
Kapitel 8: Listen, Tupel, Sets und Dictionaries (S. 108)
Die vier wichtigsten Container-Typen mit Methoden, Iteration und Konvertierung
untereinander. List-Comprehensions und die map-Funktion werden eingeführt.
Kapitel 9: Verzweigungen und Schleifen (S. 131)
Kontrollstrukturen: if/elif/else, for- und while-Schleifen, break/continue,
der Underscore als Schleifenvariable. Pattern Matching wird auf gut anderthalb Seiten
angerissen. Eine Box auf S. 132 erklärt Einrückung und Klammer-Verzicht als zentrale
Python-Syntaxmerkmale.
Kapitel 10: Funktionen (S. 153)
Funktionen mit def, dazu Lambda-Ausdrücke, Rekursion, funktionale Programmierung mit
map/filter/reduce und Generatoren. Eingebettet: ein Passwortgenerator als
zusammenhängendes Beispiel.
Kapitel 11: Umgang mit Fehlern (S. 180)
Exception-Handling: try/except/else/finally, eigene Exceptions, Tracebacks.
Die mit Python 3.11 eingeführten Neuerungen except* für ExceptionGroup und
add_note werden nicht behandelt.
Kapitel 12: Objektorientierte Programmierung (S. 192)
Klassen, Instanzen, Vererbung und dataclasses. Ein durchgängiges Schachfiguren-Beispiel
illustriert das Vererbungs-Konzept.
Kapitel 13: Module (S. 229)
Module und Pakete, import-Statement, Installation von Paketen mit pip, virtuelle
Umgebungen. Das import-Statement war vorher schon in Beispielen verwendet worden,
wird hier zum ersten Mal formal eingeführt.
Kapitel 14: Interna (S. 244)
Vermischte Themen rund um Interpreter, Compiler und Speicherverwaltung. Was in den vorigen Kapiteln nicht eingebettet wurde, landet hier.
Kapitel 15: Dateien (S. 269)
Datei-Ein- und -Ausgabe mit dem with-Block für open(), JSON- und XML-Behandlung.
Kapitel 16: Netzwerkfunktionen (S. 293)
HTTP-Downloads, REST-Aufrufe, Mailversand. Mit Praxis-Warnungen zu typischen Stolperfallen (z.B. Zertifikate unter macOS beim ersten HTTPS-Request).
Kapitel 17: Systemadministration (S. 305)
Skripting-typische Aufgaben: Dateisystem-Operationen, Prozesse, plus ein Abschnitt zum Datenbankzugriff via MySQL/MariaDB.
Kapitel 18–20: Grafische Anwendungen und Wissenschaft
Drei Schaufenster-Kapitel: GUI-Entwicklung mit Qt, Grafikprogrammierung, und wissenschaftliches Rechnen mit NumPy, pandas, SciPy und Matplotlib — plus den neuen Abschnitt Python in Excel als Erweiterung der 3. Auflage.
Kommentare
Noch keine Kommentare. Schreib den ersten.
Melde dich an, um zu kommentieren.