Vorwort¶
Dieses Buch richtet sich an Entwicklerinnen und Entwickler, die bereits Programmiererfahrung mit Sprachen wie Java, C# oder C++ besitzen und Python professionell einsetzen möchten.
Wenn Sie bereits mehrere Jahre Software entwickeln, wissen Sie, was Variablen, Schleifen, Klassen, Vererbung oder Datenstrukturen sind. Sie müssen nicht noch einmal lernen, was ein Array ist oder warum Funktionen sinnvoll sind. Stattdessen möchten Sie verstehen, wie dieselben Probleme in Python gelöst werden und welche Konzepte die Sprache von anderen Programmiersprachen unterscheiden.
Genau darum geht es in diesem Buch.
Python gehört heute zu den wichtigsten Programmiersprachen der Softwareentwicklung. Die Sprache wird in Webanwendungen, Automatisierungslösungen, wissenschaftlichen Projekten, künstlicher Intelligenz, Datenanalyse, Cloud-Plattformen und DevOps-Werkzeugen eingesetzt. Viele Entwickler kommen dabei aus der Java-, C#- oder C++-Welt und stellen schnell fest, dass Python in mancher Hinsicht anders funktioniert, als die ihnen vertrauten Sprachen.
Oberflächlich betrachtet wirkt Python oft einfacher. Die Syntax ist kompakter, viele Sprachkonstrukte erscheinen vertraut und erste Ergebnisse lassen sich schnell erzielen. Doch gerade diese Einfachheit kann täuschen. Wer Python lediglich wie eine andere Schreibweise von Java oder C# verwendet, nutzt nur einen kleinen Teil der Möglichkeiten, die die Sprache bietet.
Python verfolgt in vielen Bereichen einen anderen Ansatz. Dynamische Typisierung, Duck Typing, First-Class Functions, Iteratoren, Generatoren, Context Manager oder das umfangreiche Standard Library Ökosystem führen häufig zu Lösungen, die sich deutlich von klassischen objektorientierten Ansätzen unterscheiden.
Dieses Buch zeigt daher nicht nur die Syntax von Python. Es vermittelt die Denkweise hinter der Sprache.
Sie lernen unter anderem:
- das Python-Datenmodell und den Umgang mit Objekten
- Module, Pakete und die Organisation größerer Projekte
- Funktionen als zentrale Bausteine moderner Python-Programme
- Iteratoren, Generatoren und Lazy Evaluation
- Fehlerbehandlung und Context Manager
- objektorientierte Programmierung in Python
- Dataclasses, Properties und Type Hints
- Duck Typing und Python-Protokolle
- Testen von Python-Anwendungen
- virtuelle Umgebungen und Paketmanagement
- die wichtigsten Werkzeuge der professionellen Python-Entwicklung
- typische Python-Idiome und Best Practices
Dabei konzentriert sich das Buch bewusst auf Themen, die für erfahrene Entwickler relevant sind. Statt jede Sprachfunktion vollständig zu dokumentieren, liegt der Fokus auf Konzepten, Mustern und Denkweisen, die beim täglichen Einsatz von Python eine Rolle spielen.
Das Ziel besteht nicht darin, eine weitere Programmiersprache zu lernen. Das Ziel besteht darin, Python als eigenständige Sprache zu verstehen und ihre Stärken gezielt einzusetzen.
Am Ende dieses Buches werden Sie Python nicht mehr als vereinfachtes Java oder als Skriptsprache betrachten. Sie werden verstehen, warum bestimmte Lösungen in Python anders aussehen, welche Sprachkonzepte dahinterstehen und wie professionelle Python-Anwendungen aufgebaut werden.