1. Appetitanreger

Wenn Sie viel mit Computern arbeiten, stellen Sie irgendwann fest, dass es eine Aufgabe gibt, die Sie automatisieren möchten. Sie möchten vielleicht beispielsweise eine Suche und Ersetzung über eine große Anzahl von Textdateien durchführen oder eine Menge von Fotodateien auf komplizierte Weise umbenennen und neu anordnen. Vielleicht möchten Sie eine kleine benutzerdefinierte Datenbank oder eine spezialisierte GUI-Anwendung oder ein einfaches Spiel schreiben.

Wenn Sie ein professioneller Softwareentwickler sind, müssen Sie vielleicht mit mehreren C/C++/Java-Bibliotheken arbeiten, aber der übliche Schreib-/Kompilier-/Test-/Neukompilier-Zyklus ist Ihnen zu langsam. Vielleicht schreiben Sie eine Testsuite für eine solche Bibliothek und finden das Schreiben des Testcodes eine mühsame Aufgabe. Oder vielleicht haben Sie ein Programm geschrieben, das eine Skriptsprache verwenden könnte, und Sie möchten keine ganz neue Sprache für Ihre Anwendung entwerfen und implementieren.

Python ist genau die richtige Sprache für Sie.

Für einige dieser Aufgaben könnten Sie ein Unix-Shell-Skript oder Windows-Batch-Dateien verwenden, aber Shell-Skripte eignen sich am besten zum Verschieben von Dateien und Ändern von Textdaten und sind nicht gut für GUI-Anwendungen oder Spiele geeignet. Sie könnten ein C/C++/Java-Programm schreiben, aber es kann viel Entwicklungszeit in Anspruch nehmen, selbst bis zu einem ersten Entwurf eines Programms. Python ist einfacher zu verwenden, auf Windows-, macOS- und Unix-Betriebssystemen verfügbar und hilft Ihnen, die Aufgabe schneller zu erledigen.

Python ist einfach zu verwenden, aber es ist eine echte Programmiersprache, die viel mehr Struktur und Unterstützung für große Programme bietet, als Shell-Skripte oder Batch-Dateien bieten können. Andererseits bietet Python auch eine viel bessere Fehlerprüfung als C und ist als *sehr-hochstufige Sprache* mit eingebauten High-Level-Datentypen wie flexiblen Arrays und Dictionaries. Aufgrund seiner allgemeineren Datentypen ist Python für einen viel größeren Problembereich anwendbar als Awk oder sogar Perl, doch viele Dinge sind in Python mindestens genauso einfach wie in diesen Sprachen.

Python ermöglicht es Ihnen, Ihr Programm in Module aufzuteilen, die in anderen Python-Programmen wiederverwendet werden können. Es wird mit einer großen Sammlung von Standardmodulen geliefert, die Sie als Grundlage für Ihre Programme verwenden können – oder als Beispiele, um mit dem Programmieren in Python zu beginnen. Einige dieser Module bieten Dinge wie Datei-E/A, Systemaufrufe, Sockets und sogar Schnittstellen zu grafischen Benutzeroberflächen-Toolkits wie Tk.

Python ist eine interpretierte Sprache, die Ihnen während der Programmentwicklung erheblich Zeit sparen kann, da keine Kompilierung und Verlinkung erforderlich ist. Der Interpreter kann interaktiv verwendet werden, was es einfach macht, mit Sprachfunktionen zu experimentieren, Wegwerfprogramme zu schreiben oder Funktionen während der Bottom-up-Programmentwicklung zu testen. Er ist auch ein praktischer Schreibtischrechner.

Python ermöglicht es, Programme kompakt und lesbar zu schreiben. Programme, die in Python geschrieben sind, sind typischerweise viel kürzer als gleichwertige C-, C++- oder Java-Programme, aus mehreren Gründen:

  • die High-Level-Datentypen ermöglichen es Ihnen, komplexe Operationen in einer einzigen Anweisung auszudrücken;

  • die Gruppierung von Anweisungen erfolgt durch Einrückung anstelle von öffnenden und schließenden Klammern;

  • es sind keine Variablendeklarationen oder Argumentdeklarationen erforderlich.

Python ist *erweiterbar*: Wenn Sie wissen, wie man in C programmiert, ist es einfach, eine neue integrierte Funktion oder ein neues Modul zum Interpreter hinzuzufügen, entweder um kritische Operationen mit maximaler Geschwindigkeit auszuführen oder um Python-Programme mit Bibliotheken zu verknüpfen, die möglicherweise nur in binärer Form verfügbar sind (wie eine herstellerspezifische Grafikbibliothek). Sobald Sie wirklich süchtig sind, können Sie den Python-Interpreter in eine in C geschriebene Anwendung einbinden und ihn als Erweiterungs- oder Befehlssprache für diese Anwendung verwenden.

Übrigens ist die Sprache nach der BBC-Sendung „Monty Python’s Flying Circus“ benannt und hat nichts mit Reptilien zu tun. Referenzen auf Monty-Python-Sketche in der Dokumentation sind nicht nur erlaubt, sondern erwünscht!

Jetzt, da Sie alle von Python begeistert sind, werden Sie es etwas genauer untersuchen wollen. Da der beste Weg, eine Sprache zu lernen, sie zu benutzen ist, lädt das Tutorial Sie ein, mit dem Python-Interpreter zu spielen, während Sie lesen.

Im nächsten Kapitel werden die Mechanismen der Verwendung des Interpreters erläutert. Dies sind eher banale Informationen, aber für das Ausprobieren der später gezeigten Beispiele unerlässlich.

Der Rest des Tutorials stellt verschiedene Funktionen der Python-Sprache und des Systems anhand von Beispielen vor, beginnend mit einfachen Ausdrücken, Anweisungen und Datentypen, über Funktionen und Module, bis hin zu fortgeschrittenen Konzepten wie Ausnahmen und benutzerdefinierten Klassen.