Was Python eigentlich ist
Python ist mehr als eine Sache
„Python ist langsam.“
Diesen Satz wirst du hören. Du wirst auch hören, dass Python hervorragend für die Arbeit mit Daten geeignet ist. Beides wird mit großer Überzeugung wiederholt. Beides lässt sich aber erst beurteilen, wenn du fragst, welches Python damit gemeint ist.
Denn das Wort bezeichnet vier verschiedene Dinge.
Vier Dinge hinter einem Namen
In der letzten Lektion hast du ein Programm und seine Gesamtsumme gesehen, unabhängig davon, ob du auf Run geklickt hast. Zum Ausführen braucht es die Regeln der Sprache und Software, die sie befolgt. Größere Programme können außerdem Werkzeuge aus der Standardbibliothek und Pakete von Drittanbietern verwenden. Die Übersicht trennt diese vier Ebenen. Das bedeutet nicht, dass jedes Programm alle vier braucht.

Die Sprache Python ist das gemeinsame Regelwerk, das einen Text zu einem Python-Programm macht: wie Anweisungen gruppiert werden und was bestimmte Wörter und Zeichen bedeuten. Sie ist eine Vereinbarung über Bedeutung, nichts, was du installieren kannst.
Eine Implementierung ist Software, die diese Regeln befolgt und das Programm tatsächlich ausführt. CPython ist die ursprüngliche, am intensivsten gepflegte und mit Abstand am häufigsten verwendete Implementierung. Sie wird heruntergeladen, wenn man Python von Python.org bezieht. Es gibt weitere Implementierungen für andere Umgebungen und mit anderen Kompromissen. Die Ausführung im Browser auf dieser Website verwendet Pyodide, das CPython für den Browser anpasst. Deshalb kannst du das Beispiel aus der letzten Lektion ausführen, ohne Python selbst zu installieren.
Die Standardbibliothek ist die Sammlung fertiger Werkzeuge, die mit einer Implementierung geliefert wird. Jeder Bestandteil ist ein Modul, ein wiederverwendbarer Codebaustein für eine bestimmte Art von Aufgabe: Datumsangaben, Text, Dateien, Internetanfragen oder Tests. Diese Werkzeuge werden mitgeliefert, damit niemand sie noch einmal entwickeln muss.
Ein Paket von Drittanbietern ist eine Erweiterung, die nicht mitgeliefert wird, sondern von jemand anderem erstellt und verbreitet wird. pandas für Datenarbeit, Django für Webanwendungen und mehrere Hunderttausend weitere. Du musst dir diese beiden Namen nicht merken. Zusammen mit den Menschen, die sie pflegen, bilden die Pakete das Ökosystem von Python. Es ist um ein Vielfaches größer als die Standardbibliothek.
Viele Programme verwenden alle vier Ebenen. Der Text folgt der Sprache, eine Implementierung führt ihn aus, und dabei kann er Module der Standardbibliothek und installierte Pakete aufrufen. Das Rechnungsbeispiel verwendet nur eingebaute Operationen: Es importiert kein Modul und braucht für seine Berechnung kein Paket von Drittanbietern.
Jetzt lassen sich die beiden Aussagen beurteilen
Zurück zu „Python ist langsam“. Langsam an welcher Stelle? Im Entwurf der Sprache, in der Ausführungsweise einer Implementierung, in einem schlecht geschriebenen Programm oder in einem Paket, das aufwendige Berechnungen durchführt? Das sind vier verschiedene Behauptungen, und drei davon betreffen die Sprache überhaupt nicht.
„Python eignet sich hervorragend für Datenanalyse“ lässt sich genauso aufteilen. Die meisten dieser Stärken stecken in Paketen aus der Gemeinschaft und nicht in einem eingebauten Datenbefehl der Sprache.
Das ist keine Kritik. Vieles, was nach „Python kann das“ klingt, bedeutet eigentlich: „Jemand hat dafür ein Paket entwickelt.“
Das hat zwei Seiten. Ein Paket kann aufgegeben werden, unsicher sein, nicht zu deinem Projekt passen oder mit dem Rest deiner Arbeit unverträglich sein. Es muss weiterhin jemand fragen, wer es pflegt und was es in zwei Jahren kostet, davon abhängig zu sein. Ein großes Ökosystem ist eine echte Stärke, aber keine Garantie.
Aus diesen Ebenen ergibt sich noch etwas, auf das wir zweimal zurückkommen werden. Ein Paket kann so geschrieben sein, dass die langsame, aufwendige Arbeit in einer schnelleren Sprache stattfindet, während gut lesbare Python-Anweisungen sie steuern. Diese Aufteilung erklärt einen großen Teil der späteren KI-Lektion und der ehrlichen Antwort auf die Frage nach der Geschwindigkeit.
Niemand hat das an einem Nachmittag entworfen
Die Regeln, die Hauptimplementierung, die mitgelieferten Werkzeuge und die Gemeinschaft darum herum sind über drei Jahrzehnte durch viele Menschen entstanden, die sich nicht immer einig waren.
Warum ist die Sprache also so aufgebaut? Warum Einrückungen, warum die Betonung der Lesbarkeit, warum die Bereitschaft, sich mit anderer Software zu verbinden? Dafür gehen wir zurück zu einem Forscher in den Niederlanden, der die Sprache mochte, mit der er arbeitete, aber immer wieder an ihre Grenzen stieß.
Mehr erfahren
Die Einleitung zur Python-Sprachreferenz erklärt die Trennung zwischen der Sprache und ihren Implementierungen. Der Python-Leitfaden zur Paketverwaltung behandelt den genaueren Unterschied zwischen einem Distributionspaket und einem Importpaket. Beide englischen Quellen sind Nachschlagewerke statt Einführungen für Anfänger. Beide sind freiwillige Vertiefung.