iX 6/2017
S. 124
Praxis
Programmierung
Aufmacherbild

Orientierung im Python-Dschungel

Eine für alles

Python gehört zu den beliebtesten Programmiersprachen – aus gutem Grund: Die Sprache eignet sich für schnelle Hacks ebenso wie für komplexe Anwendungen. Eine kleine Rundreise durch das Python-Universum.

Eine Reihe von Gründen hat Python so populär gemacht: Der einfache Einstieg sorgt für schnelle Ergebnisse. Die Sprache ist auf allen Plattformen verfügbar und gut dokumentiert, hat eine klare Syntax, lässt sich prozedural und objektorientiert programmieren und übernimmt auch Elemente der funktionalen Programmierung. Zahlreiche Bibliotheken und Module liefern fertige Lösungen für viele gängige Problemstellungen – vom Handling unterschiedlichster Dateiformate über Netzwerkprotokolle bis zu komplexen Datenanalysen und Maschinenlernen. Die Projektliste „Awesome Python“ vermittelt einen Eindruck davon, was alles mit Python möglich ist.

All das macht Python zu einer guten Wahl zur schnellen Entwicklung von Prototypen. Doch auch Programmierer, die zwar nicht ihren Lebensunterhalt mit Softwareentwickeln verdienen, aber immer wieder Code schreiben, um sich das Leben leichter zu machen oder konkrete Probleme zu lösen, finden in Python ein ideales Werkzeug. Ich selbst habe jahrelang mit Perl gearbeitet und war von der dortigen Infrastruktur, vor allem dem CPAN, sehr verwöhnt. Auf der Suche nach einer Alternative für schnell realisierbare Lösungen bin ich schließlich bei Python gelandet. Dieser Artikel soll Ein- und Umsteigern die Orientierung im Python-Universum erleichtern – und bietet vielleicht auch Python-Profis noch Neues.

Die Reise beginnt mit einem Überblick über Möglichkeiten zum Einstieg in Python, zeigt Fallstricke bei der Installation insbesondere unter Windows und nennt Best Practices für eigene Python-Projekte. Dazu kommt eine Übersicht über die verfügbaren Module und Bibliotheken sowie über Werkzeuge, die die Arbeit mit Python vereinfachen. Über „Alle Links“ am Ende des Artikels finden Sie zahlreiche weiterführende Links und alle im Text genannten Quellen und Werkzeuge.

Aller Einstieg ist leicht

Bis letztes Jahr gab es unter Python-Entwicklern noch eine heftige Debatte, ob man besser die veraltete Version Python 2 oder den neuen Zweig Python 3 (aktuell: Python 3.6) nutzt. Grund dafür war, dass sich bei vielen Modulen die Portierung auf Python 3 ziemlich lange hingezogen hat. Inzwischen sind allerdings fast alle Module für Python 3 verfügbar. Ein großer Schritt war dabei die offizielle Python-3-Unterstützung in dem populären Webframework Django. Daher gilt: Wenn keine schwerwiegenden Gründe Python 2.7 erzwingen, sollte man für Neuentwicklungen die aktuelle Python-3-Version nutzen. Die offizielle Python-Dokumentation bietet eine gute Hilfestellung für die Portierung von Python 2 nach 3 (siehe „Alle Links“).

Die Vielfalt an ausführlicher, hochwertiger Dokumentation ist ein wesentlicher Erfolgsfaktor von Python. Anfängern erleichtert sie den Einstieg, Profis bringt sie eine signifikante Zeitersparnis. In der Python-Community hat sich, nicht zuletzt dank klarer Konventionen zur Dokumentation von Code, eine Tradition zum sorgfältigen Dokumentieren durchgesetzt. Dabei profitieren Leser wie Autoren von einer Vielfalt von Werkzeugen zur Erstellung und attraktiven Aufbereitung: Dokumente, die genutzt werden, werden auch gepflegt.

Es gibt mehrere Typen von Dokumentation, die bei Python eine Rolle spielen. Zunächst sind da die sogenannten Python Enhancement Proposals, eine Art offiziell abgesegnete Dokumente in der Python-Welt – vergleichbar mit den RFCs für Regelungen im Internet. Viele dieser PEPs richten sich an die Entwickler der Sprache und betreffen neue Features.

Allerdings gibt es auch PEPs, die wichtige Informationen für Python-Nutzer dokumentieren. Eine besondere Stellung dabei hat „PEP 8 – Style Guide for Python“, das inzwischen ein Quasistandard für die Gestaltung von Python-Code ist. Jeder Python-Einsteiger sollte sich die Empfehlungen in diesem PEP zu Herzen nehmen.

Entwickler müssen viel mehr Code lesen und verstehen, als sie schreiben müssen. Daher ist es so wichtig, eigenen Code lesbar zu schreiben. Das ausgezeichnete „PEP 20 – The Zen of Python“ bringt in nur 19 knackigen Sätzen die Python-Philosophie auf den Punkt.

Dokumentieren leicht gemacht

Ebenfalls eine exzellente Hilfe ist die Dokumentation zu Python selbst auf docs.python.org. Alle Dokumente stehen für alle Python-Versionen in den Formaten HTML, PDF, EPUB und Text sowohl online als auch zum Download zur Verfügung. Der beste Einstiegspunkt in die offizielle Dokumentation ist das Python-Tutorial, das einen guten Überblick über die Entwicklung mit Python gibt. Nicht für die Badewanne geeignet, sondern zum Nachschlagen gedacht sind die beiden umfangreichen Referenzen zur Standardbibliothek und zur Sprache selbst. Vor allem die Library Reference wird man im Laufe der Zeit regelmäßig konsultieren.

Dank definierter Strukturen für Dokumentation und guter Werkzeuge zu ihrer Erstellung sind auch Python-Module und -Bibliotheken fast immer gut dokumentiert. Damit Entwickler dieses Material auch finden, wurde das Projekt „Read the Docs“ ins Leben gerufen. Hier findet man inzwischen einen großen Teil der Beschreibungen wichtiger Module und Bibliotheken – es lohnt sich, dort einfach mal zu stöbern.

Python Bytes liefert die wichtigsten News der Python-Welt als Podcast (Abb. 1).

Mittlerweile gibt es eine große Anzahl von Blogs zum Thema Python – meine beiden Favoriten sind „Planet Python“ und „The Mouse Vs. The Python“. Um neue Themen zu entdecken, bevorzuge ich Podcasts, besonders „Talk Python to me“, bei dem der Gastgeber jede Woche ein anderes Python-Thema mit einem Gast beleuchtet, und „Python Bytes“, einen allwöchentlichen Abriss der Neuigkeiten der Python-Welt in 15 Minuten. In den Show-Notes zu beiden Podcasts finden sich häufig wertvolle Verweise auf weiterführende Informationen.