1. Appetitanreger

Wenn du viel am Computer arbeitest, stellst du irgendwann fest, dass du bestimmte Aufgaben gerne automatisieren würdest. Du möchtest beispielsweise Suchen und Ersetzen in einer großen Anzahl von Textdateien durchführen oder eine Reihe von Fotodateien auf komplizierte Weise umbenennen und umstrukturieren. Vielleicht möchtest du eine kleine eigene Datenbank, eine spezielle GUI-Anwendung oder ein einfaches Spiel schreiben.

Wenn du beruflich Software entwickelst, musst du vielleicht mit mehreren C/C++ oder Java-Bibliotheken arbeiten, findest aber den üblichen Zyklus aus Schreiben, Kompilieren, Testen und erneutem Kompilieren zu langsam. Vielleicht schreibst du eine Testsuite für eine solche Bibliothek und empfindest das Erstellen des Testcodes als mühsam. Oder du hast ein Programm geschrieben, das eine Erweiterungssprache gebrauchen könnte, möchtest aber nicht eine völlig neue Sprache für deine Anwendung entwerfen und umsetzen.

Dann ist Python genau die richtige Sprache für dich.

Für manche dieser Aufgaben könntest du ein Unix-Shell-Skript oder Windows-Batch-Dateien schreiben, aber Shell-Skripte eignen sich am besten zum Verschieben von Dateien und Ändern von Textdaten – für GUI-Anwendungen oder Spiele sind sie kaum geeignet. Du könntest ein C/C++ oder Java-Programm schreiben, aber es kann viel Entwicklungszeit kosten, selbst einen ersten Entwurf fertigzustellen. Python ist einfacher zu bedienen, für Windows, macOS und Unix-Betriebssysteme verfügbar und hilft dir, dein Ziel schneller zu erreichen.

Python ist einfach zu bedienen, aber es ist eine echte Programmiersprache, die weit mehr Struktur und Unterstützung für große Programme bietet, als es Shell-Skripte oder Batch-Dateien können. Auf der anderen Seite bietet Python auch eine deutlich umfassendere Fehlerprüfung als C und bringt als Höchstsprache bereits eingebaute, komplexe Datentypen wie flexible Arrays und Dictionaries mit. Aufgrund dieser allgemeineren Datentypen lässt sich Python für ein weit größeres Spektrum an Problemstellungen einsetzen als Awk oder sogar ogar Perl und bietet für viele Aufgaben mindestens ebenso einfache Lösungen wie diese Sprachen.

Python ermöglicht es dir, dein Programm in Module aufzuteilen, die sich in anderen Python-Programmen wiederverwenden lassen. Es bringt eine umfangreiche Sammlung an Standardmodulen mit, die du als Basis für deine eigene Entwicklung oder als Beispiele für den Einstieg nutzen kannst. Einige dieser Module bieten Funktionen wie Datei-I/O, Systemaufrufe, Sockets und sogar Schnittstellen zu Toolkits für grafische Benutzeroberflächen wie Tk.

Python ist eine interpretierte Sprache. Das kann dir bei der Softwareentwicklung viel Zeit sparen, da kein Kompilieren und Linken nötig ist. Du kannst den Interpreter interaktiv nutzen, was das Experimentieren mit Sprachfeatures, das Schreiben von Einweg-Skripten oder das Testen von Funktionen nach dem Bottom-up-Prinzip sehr einfach macht. Zudem dient er als praktischer Taschenrechner.

Python ermöglicht es, Programme kompakt und gut lesbar zu schreiben. In Python verfasster Code ist aus mehreren Gründen meist deutlich kürzer als vergleichbare Programme in C, C++ oder Java:

  • Die komplexen Datentypen erlauben es dir, vielschichtige Abläufe in einer einzelnen Anweisung auszudrücken.

  • Anweisungsblöcke werden durch Einrückungen statt durch öffnende und schließende Klammern strukturiert.

  • Es sind keine Variablen- oder Argumentdeklarationen erforderlich.

Python ist erweiterbar: Wenn du in C programmieren kannst, lässt sich der Interpreter problemlos um neue integrierte Funktionen oder Module ergänzen. So kannst du zeitkritische Operationen mit maximaler Geschwindigkeit ausführen oder Python-Programme mit Bibliotheken verknüpfen, die nur in binärer Form vorliegen (wie die Grafikbibliothek eines Drittherstellers). Wenn dich das Fieber erst einmal gepackt hat, kannst du den Python-Interpreter auch direkt in eine C-Anwendung einbinden und als Erweiterungs- oder Befehlssprache dafür nutzen.

Übrigens: Die Sprache wurde nach der BBC-Show „Monty Python’s Flying Circus“ benannt und hat nichts mit Reptilien zu tun. Anspielungen auf Sketches von Monty Python in der Dokumentation sind daher nicht nur erlaubt, sondern ausdrücklich erwünscht!

Nachdem du nun begeistert von Python bist, möchtest du dir die Sprache sicher genauer ansehen. Da man eine Sprache am besten durch Anwendung lernt, lädt dich dieses Tutorial dazu ein, beim Lesen direkt mit dem Python-Interpreter zu experimentieren.

Im nächsten Kapitel wird die Handhabung des Interpreters erklärt. Das sind zwar eher trockene Grundlagen, aber sie sind unerlässlich, um die später gezeigten Beispiele auszuprobieren.

Der restliche Teil des Tutorials stellt verschiedene Funktionen der Sprache und des Systems anhand von Beispielen vor. Das Spektrum reicht von einfachen Ausdrücken, Anweisungen und Datentypen über Funktionen und Module bis hin zu fortgeschrittenen Konzepten wie Exceptions und benutzerdefinierten Klassen.