© Dean Drobot/Shutterstock.com
Eine kompakte Einführung in die Programmiersprache Python

Dieser Anfang ist leicht


Die Einsatzgebiete der ehemaligen Skriptsprache sind umfassend. Vielfältige Arten von Anwendungen können mit Python programmiert werden. Dieser Artikel führt Sie in die Grundkonzepte der Sprache ein, gibt einen Überblick über die Sprachstrukturen und zeigt, wie Sie mit Python erste Programme schreiben. So erhalten Sie die Basis für eine weitergehende Beschäftigung.

Die Programmiersprache Python wurde zu Beginn der 1990er Jahre von Guido van Rossum in Amsterdam entwickelt. Sie war ursprünglich als Skriptsprache für das Betriebssystem Amoeba gedacht. Der Name Python steht nicht in Verbindung mit der Schlangenfamilie, sondern ist eine Anspielung auf die Komikergruppe Monty Python. Die Rechte an der Sprache werden durch die Python Software Foundation [1] gehalten. Python basiert auf den folgenden Konzepten:

  • Imperative Programmiersprache, aber auch objektorientierte und funktionale Programmierung sind möglich

  • Interpretierende Programmiersprache, d. h., ein Compiler erzeugt Bytecode, der in einer virtuellen Maschine, dem Python-Interpreter, ausgeführt wird

  • Plattformunabhängig, d. h., es kann auf vielen Systemen verwendet werden

  • Umfangreiche Standardbibliothek

  • Erweiterung und Nutzung durch das Python API

  • Automatische Speicherverwaltung

Die Frage, ob es sich bei Python um eine Interpreter- oder eine Compilersprache handelt, ist damit nicht eindeutig zu beantworten, auch weil Python Grundelemente beider Sprachtypen besitzt. Im Sinne einer Compilersprache agiert Python, indem es Quellcode zunächst in Bytecode übersetzt, bevor dieser Code vom Interpreter ausgeführt wird (Abb. 1).

bochkor_python_1.tif_fmt1.jpgAbb. 1: Das Konzept von Python [2]

Externe Python-Module liegen meist als kompilierter Code (.pyc-Dateien) vor. Quellcode, der durch Prompt-Anweisung oder in Form von Quellcodedateien (.py-Dateien) ausgeführt werden soll, muss dagegen noch zur Laufzeit kompiliert werden. Der entstandene Bytecode ist kompakter, schneller ausführbar und macht Python plattformunabhängig. Nach dem Kompilieren wird der Bytecode in einem zweiten Schritt in die sogenannten Python Virtual Machine geladen und interpretiert.

Interessant ist die Lizenz von Python: Es wird die PSF-Lizenz verwendet, eine Open-Source-Lizenz. Diese erlaubt es, den Python-Interpreter lizenzkostenfrei in eigene Anwendungen zu integrieren und damit Python als Skriptsprache für die eigene Anwendung zu nutzen.

Python kann vielfältig eingesetzt werden, zum Beispiel für client- und serverseitige Applikationen, als Skriptsprache, für die Verwendung im Embedded-Bereich, im Bereich der Wissenschaft (Mathematik) und für Anwendungen der künstlichen Intelligenz. Die Programmiersprache eignet sich auch für das Rapid Prototyping im Rahmen des Entwurfs von Applikationen.

Installation

Python ist plattformübergreifend verfügbar. Laden Sie von http://python.org die Installationsdatei für das betreffende Betriebssystem, beispielsweise für Microsoft Windows, herunter und führen Sie die Installation aus (Abb. 2).

bochkor_python_2.tif_fmt1.jpgAbb. 2: Python bietet unter Windows einen normalen Installer

Unter Linux und macOS ist dagegen in der Regel durch das System bereits ein Interpreter für Python vorinstalliert, der jedoch meist nicht aktuell ist. Um die installierte Version zu prüfen, öffnen Sie die Kommandozeile (Windows), Shell (Linux) oder ein Terminal und erfragen mittels python --version die Version. Auf dem MacBook der Autorin war initial durch das Betriebssystem die Version 2.7.10 installiert. Um den Erfolg der Installation der aktuellen Version zu überprüfen, geben Sie Folgendes ein: python3 --version. Für diesen Artikel wurde die Version 3.7.4 verwendet.

Für die Arbeit mit Python werden sehr häufig zusätzliche Pakete eingesetzt (Kasten: „Pakete für Python“). Um diese nicht alle einzeln und manuell installieren zu müssen, kann man eine sogenannte Python-Distribution einsetzen. Eine solche beinhaltet das Kernprodukt (Interpreter, Compiler, Standardbibliothek, die Entwicklungsumgebung IDLE) und zusätzliche Pakete.

Pakete für Python [3]

Der Funktionsumfang der Sprache Python wird in sogenannten Paketen (engl. Packages) organisiert. Obwohl Python bereits über eine sehr umfassende Standardbibliothek verfügt, kann man die Funktionalität der Sprache über Pakete erweitern. Diese sind meist frei verfügbar. Interessante Pakete sind zum Beispiel:

  • NumPy [4] wird für die Organisation und Manipulation von Daten in Arrays verwendet. Ebenso werden Implementierungen für numerische Berechnungen zur Verfügung gestellt.

  • SciPy [5] hat NumPy als Grundlage. Es werden Funktionen für statistische Auswertung, für Optimierungsrechnungen, für die Berechnung von Integralen, für Aufgaben der linearen Algebra und zur Bildverarbeitung hinzugefügt.

  • Scikit-learn [6] bringt zahlreiche Algorithmen aus dem Kontext des maschinellen Lernens (Klassifikations-, Regressions- und Clusteringverfahren) mit.

  • OpenCV [7] beinhaltet zahlreiche Algorithmen zur Bildverarbeitung aus dem Bereich Computer Vision.

  • Matplotlib [8] stellt Funktionen zur Visualisierung von mathematischen Ausdrücken zur Verfügung. Diese ähneln MATLAB.

  • Spyder [9] ist eine Python-Entwicklungsumgebung. Dazu gehören ein Editor, eine interaktive Konsole mit Variablen-Explorer und der Möglichkeit zum Anzeigen der Entwicklerdokumentation.

  • TensorFlow [10] ist eine häufig eingesetzte Bibliothek für maschinelles Lernen von Google. Konzipiert ist sie für Deep Learning und unterstützt symbolische Berechnungen sowie die Ausführung auf Grafikkarten (GPUs) zur Rechenbeschleunigung.

  • Keras [11] ist ein einfach zu bedienendes Interface zum Erzeugen und Trainieren von neuronalen Netzwerken.

Anhand der Funktionen der Bibliotheken wird klar, dass Python eine besondere Stärke im Bereich der Mathematik und dem wissenschaftlichen Rechnen hat. Daher wird die Sprache auch gern für Aufgaben des maschinellen Lernens genutzt.

Eine recht bekannte Python-Distribution ist Anaconda [12], die für die gängigsten Betriebssysteme bereits viele wichtige Pakete enthält. Nach der Installation von Python haben Sie neben dem Python-Interpreter auch die Python-Shell (interaktiver Modus) und IDLE auf Ihrem System. Natürlich ist es auch möglich, eine andere Entwicklungsumgebung zu verwenden, z. B. Eclipse mit einem Plug-in (PyDev), Eric-IDE, PyCharm, Visual Studio mit P...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang