Python ist eine interpretierte, objektorientierte Programmiersprache mit klarer Syntax und plattformübergreifender Verfügbarkeit. Sie wird häufig für Skripte und als glue zum Verbinden von Libraries und anderen Programmen verwendet, da sich Bibliotheken in 'C' und C++ gut integrieren lassen.
Das folgende kurze Beispiel-Script zeigt den Namen (ISO) einer eingelegten CD/DVD an, das Device (/dev/cdrom oder /dev/disk2) wird als erstes Argument in der Kommandozeile übergeben:
import sys dev = sys.argv[1] f = open(dev,"r") f.seek(37688) print f.read(31).rstrip() f.close()
Besonderheiten im Vergleich zu C, Perl, PHP etc:
Genau so, wie man ein Script aus einer Datei aufrufen kann, so kann man den Code auch direkt eingeben und interaktiv testen.
- Ein Semikolon am Ende einer Zeile ist nicht nötig.
- Anweisungsblöcke werden nicht mit Klammern markiert, sondern durch einfaches Einrücken, was gleichzeitig auch der Übersichtlichkeit dient.
Ein Python-Motto lautet: Python comes with batteries included. Das bedeutet, dass man sofort loslegen kann, da Python von Haus aus viele und mächtige Software-Bibliotheken mitbringt. Bei anderen Script-Sprachen wie Perl oder PHP muß man oft noch Bibliotheken zusätzlich herunterladen und installieren.
Python ist schnell. Deshalb kann man meist auf die oben erwähnte Integration von zusätzlichem C-Code verzichten. Ein beeindruckendes Beispiel zeigt ein Nagios Remote-Checks Performance-Vergleich, bei dem eine in Python geschriebene Lösung um Faktor 12 schneller ist als eine andere in C++ geschriebene Lösung.
- Sicherheitslücken sind in Python im Gegensatz zu anderen Script-Sprachen selten.
- Python ist so einfach, dass jeder schnell zu Ergebnissen kommt, und dabei aber einfachen und gut verständlichen Code produziert.
"Fremde" Bibliotheken wie das graphische Toolkit Tk der Sprache Tcl oder auch die graphischen Java-Bibliotheken lassen sich einfach nutzen.
Python wurde von Grund auf objektorientiert entworfen und hat Objektorientierung nicht erst als zusätzliche Erweiterung bekommen. Die einzige andere Sprache, die einen ähnlich strikten Ansatz verfolgt und ebenso Programmierung auf hohem Abstraktionsniveau ermöglicht, ist Ruby. Allerdings gibt es für Ruby noch nicht so viele Bibliotheken.