Wenn Sie jemals ein langes Shell-Skript geschrieben haben, kennen Sie vermutlich dieses Gefühl: Sie würden liebend gern noch eine weitere Eigenschaft hinzufügen, aber es ist bereits sehr langsam, sehr groß und sehr kompliziert. Oder die Eigenschaft verlangt einen Systemaufruf oder andere Funktion, die nur von C aus verfügbar ist... Normalerweise ist das aktuelle Problem nicht ernst genug, um ganz neu in C geschrieben zu werden. Vielleicht braucht man nur Strings variabler Länge oder Datentypen (wie sortierte Listen von Dateinamen), die bereits leicht in der Shell zu verwenden sind, aber eine Menge Arbeit in C machen, oder Sie sind einfach nicht vertraut genug mit C.
Eine andere Situation: Vielleicht müssen Sie mit mehreren C-Bibliotheken arbeiten und der übliche schreiben/übersetzen/testen/neu-übersetzen-Zyklus ist zu langsam. Sie müssen Software schneller entwickeln. Möglicherweise haben Sie ein Programm geschrieben, das eine Erweiterungssprache brauchen könnte, aber Sie wollen keine eigene Sprache entwerfen, einen Interpreter dafür schreiben und testen und dann an Ihre Anwendung koppeln.
In solchen Fällen könnte Python genau die richtige Sprache für Sie sein. Python ist einfach zu benutzen, aber es ist eine echte Programmiersprache, die sehr viel mehr Struktur und Unterstützung für große Programme bereitstellt als eine Shell. Auf der anderen Seite bietet sie eine viel bessere Fehlerkontrolle als C und hat (weil es eine echte Hochsprache ist) eingebaute abstrakte Datentypen wie flexible Listen und Dictionaries (engl. für Wörterbuch), für deren effiziente Implementierung in C Sie Tage bräuchten. Wegen seiner abstrakteren Datentypen kann Python bei einer wesentlich größeren Klasse von Problemen angewendet werden als Awk und sogar Perl bzw. viele Dinge sind mindestens so einfach in Python wie in diesen anderen Sprachen.
Python erlaubt es, Ihr Programm in Module aufzuteilen, die in anderen Python-Programmen wiederverwendet werden können. Zu Python gehört eine große Sammlung von Standard-Modulen, die man als Basis für eigene Programme benutzen kann - oder als Beispiele, um in Python programmieren zu lernen. Es gibt auch eingebaute Module, die Dateiein- und ausgabe, Systemaufrufe und sogar Schnittstellen zu GUI-Bibliotheken wie Tk zur Verfügung stellen.
Python ist eine interpretierte Sprache, die Ihnen beträchtliche Zeit während der Programmentwicklung sparen helfen kann, da kein Übersetzen und Binden notwendig ist. Der Interpreter kann interaktiv benutzt werden, wodurch man leicht mit den Eigenschaften der Sprache experimentieren, eigene Wegwerf-Programme schreiben und Funktionen während der Programmentwicklung von oben nach unten testen kann. Er gibt auch einen praktischen Taschenrechner ab.
Python erlaubt es, sehr kompakte und leserliche Programme zu schreiben. In Python geschriebene Programme sind aus folgenden Gründen normalerweise wesentlich kürzer als C-Programme:
Python ist erweiterbar: Wenn Sie in C programmieren können, ist es leicht, eine neue eingebaute Funktion oder ein Modul dem Interpreter hinzuzufügen, entweder um kritische Operationen mit maximaler Geschwindigkeit auszuführen oder um Python-Programme an Bibliotheken zu binden, die nur in Binärform vorliegen (wie z.B. herstellerabhängige Graphikbibliotheken). Wenn Sie schon einmal dabei sind, können Sie den Python-Interpreter an eine C-Anwendung binden und ihn als Erweiterung oder als Kommandosprache für diese Anwendung verwenden.
Übrigens, die Sprache wurde benannt nach einer BBC-Fernsehserie namens ,,Monty Python's Flying Circus`` und hat nichts mit bösen Reptilien zu tun. Die Verwendung von Monty Python-Seitenhieben in der Dokumentation ist nicht nur erlaubt, sondern sogar empfohlen.
Nun, da Sie ganz begeistert sind von Python, werden Sie es mehr im Detail untersuchen wollen. Da der beste Weg, eine Sprache zu lernen, der ist, sie zu benutzen, sind Sie hiermit dazu eingeladen.
Im nächsten Kapitel wird die Benutzung des Interpreters erklärt. Dies ist eher nüchterne Information, aber essentiell, um die späteren Beispiele auszuprobieren.
Der Rest dieses Tutoriums führt anhand von Beispielen in verschiedene Eigenschaften der Sprache Python und der Konzepte dahinter ein, beginnend mit einfachen Ausdrücken, Anweisungen und Datentypen, über Funktionen und Module bis hin zu fortgeschrittenen Konzepten wie Ausnahmen und benutzerdefinierten Klassen.