Halten Sie Verbindung mit uns:

Python

Was ist Python?

Python ist eine vielfältig einsetzbare Interpreter- Programmiersprache*. Sie zeichnet sich durch vergleichsweise klare Syntax und hohe Modularität, eine breite Auswahl an Standardmodulen und eine aktive Community aus, durch die vielfache weitere Module bereitstehen. Python ist daher eine sehr flexible Plattform für unterschiedliche Anwendungsfälle und beliebt etwa bei Webentwicklung (z.B. Django, Flask), Automatisierung, wissenschaftlicher Datenverarbeitung (z.B. NumPy, Pandas) oder maschinellem Lernen (z.B. scikit-learn, PyTorch).

Die Sprache ist imperativ und verfügt über die üblichen Elemente zur Zustandsabbildung und Kontrollfluss wie etwa Variablen, Standard-Datentypen inklusive Listen und Zuordnungen (Mappings), if-Verzweigungen, Schleifen und Ausnahmenbehandlung. Dabei kann die Logik in alleinstehenden Funktionen oder auch in Klassen gebündelt werden; Objektorientierung wird also angeboten, aber nicht erzwungen.

Die größere Differenz zu anderen weit verbreiteten Sprachen liegt eher in der Syntax, welche schlank und daher recht übersichtlich erscheint. So werden beispielsweise Codeblöcke syntaktisch nicht mit Klammern abgegrenzt, sondern allein durch Einrückung des Codes definiert. Auch gibt es vereinfachte Konstrukte zur Definition von Listen und Zuordnungen, die der Übersichtlichkeit im Code dienlich sind (List- bzw. Dictionary Comprehensions). Datentypen von Variablen können, aber müssen nicht im Code definiert sein, werden aber in jedem Fall erst zur Laufzeit überprüft (von intelligenten IDEs einmal abgesehen).

Die Stärke von Python zeigt sich oft in dynamischen Anwendungsfällen, wo etwa heterogene Daten aus verschiedensten Quellen miteinander integriert und verarbeitet werden müssen. So könnte durch kombinierte Nutzung der frei verfügbaren Module beispielsweise ein Social-Media Kanal gescrapt, die gefundenen Posts einer Themen- und Stimmungsanalyse unterzogen und die Daten anschließend, angereichert mit z.B. Verkaufsdaten aus einer relationalen Datenbank, graphisch aufbereitet und in einer Vielzahl von Datenformaten bereitgestellt werden.

Die Kehrseite der Modularität und der Interpreter-Eigenschaft von Python kann die individuelle Performanz von Programmen sein. Eine speziell programmierte Lösung in einer Compiler-Sprache wird eine vergleichbare Lösung in Python in diesem Punkt schlagen. Es muss aber in jedem Fall auch der Entwicklungsaufwand berücksichtigt werden, denn für viele Anwendungsfälle stellt dieser ein weitaus höheres Hindernis dar als eine leicht verlangsamte Ausführung der Endanwendung.

*Python übersetzt normalerweise den Ausgangs-Code zur Ausführungszeit in Bytecode, der dann von der Python Runtime ausgeführt wird. Manche Module liegen aber auch bereits als Bytecode vor, was den Vorgang beschleunigt.