Warum Sie Python lernen sollten!

Die Nummer Eins der Programmiersprachen

 08.02.2021     Programmierung

Die Programmiersprache Python liegt seit Jahren im Trend. Python wird als universelle, interpretierte Programmiersprache kategorisiert. Sie ist seit 2008 in Version 3 für meisten gängigen Betriebssysteme als OpenSource Software verfügbar.

Python behauptete sich 2019 im Fachmagazin "Spectrum" des Institute of Electrical and Electronics Engineers (IEEE) zum dritten Mal in Folge auf dem ersten Platz. Im Jahr 2020 lag Python sogar mit einer Vergleichsindex-Wertung von 100% vor C++, Java, C, C# und PHP.

Mit über 30% Beliebtheit liegt Python laut "statista" im PYPL-Index (Popularity of Programming Languages) im Oktober 2020 ebenfalls an der Spitze, weit vor Java (16%), JavaScript (8%), C# (7%) und PHP (6%). Dieser Index wird innerhalb eines Monats durch Auswertung von Google-Suchabfragen zu Lehrvideos berechnet. Das ist zwar als Indikator für das Maß der Beliebtheit einer Programmiersprache kein Garant, aber Tendenzen zeigt dieser Index allemal auf.

Python Würfel

Bild1: Programmiersprache Python

 

Das amerikanische Branchenanalystenunternehmen "RedMonk" veröffentlicht alle sechs Monate ein Programmiersprachen-Ranking. Dies gilt auf einschlägigen Fachportalen als verlässlicher Indikator für Trends in der Softwarewelt. Java und JavaScript waren dort fast 10 Jahre unumstritten an der Spitze. Ab 2013 konnte sich Python dort über vier Jahre lang auf dem vierten Platz behaupten, befand sich dann über drei Jahre auf dem dritten Platz, und jetzt teilt sich Python seit 2020 mit Java den zweiten Platz auf deren weltweiten Rangliste.

Auch in diversen Umfragen von Stack Overflow, einem der beliebten und renommierten Open Software Community Portale, ist die Beliebtheit von Python in den letzten Jahren immer wieder attestiert worden.

Warum Sie lernen sollten, in Python zu programmieren, zeigen wir Ihnen in diesem Beitrag. Ob Anfänger oder fortgeschrittener Programmierer – wir haben den passenden Kurs für Sie in unserem Programm, der Ihnen neue Kenntnisse und Praxis-Wissen vermittelt.

Was ist das Erfolgsrezept von Python?

An oberster Stelle stehen die einfache Syntax und die leichte Erlernbarkeit dieser Programmiersprache. Der Program Code ist viel einfacher lesbar und weniger fehlerträchtig als in anderen Sprachen. Entwickler bezeichnen Python als eine gut durchdachte und designte Programmiersprache, in der Sie auch als Anfänger relativ schnell lernen können, Programme zu schreiben.

Die in der Regel verwendete blockweise Einrückung, beispielsweise mit geschweiften Klammern, wie sie in anderen Programmiersprachen benutzt wird, wird in Python direkt als Syntaxregel interpretiert. Variablendeklarationen entfallen bei der Programmierung – sie entstehen automatisch im Moment der Formatzuweisung.

Python Beispiel

Bild 2: Die Variablen deklarieren sich von selbst allein durch ihr Format

 

Ein großer Pluspunkt ist die umfangreiche Standardbibliothek, mit der sich Funktionen und Klassen bei Bedarf einfach zusätzlich aktivieren lassen. Das OS bzw. SHUTIL Modul liefert sehr viele Funktionen zur Interaktion mit dem Betriebssystem. Aus Python heraus kann man auf die Systemshell zugreifen, Systembefehle absetzen, Ordner und Dateien erstellen, löschen und kopieren.

Mit dem DATETIME Modul können einfache und komplexe Uhrzeit- und Datumsoperationen verarbeitet werden. Mit SQLITE3 können Daten in eine einfache SQLite Datenbank geschrieben werden. Auf diese Art lassen sich Funktionen sehr einfach testen, um das System später beispielsweise auf andere Datenbanken wie PostGreSQL oder Oracle zu portieren und in den Life-Betrieb zu bringen.

Die Dokumentation des Codes und der Standardmodule wird vorbildlich auf Python.org gepflegt. Python selbst ist in C geschrieben – Schnittstellen in beide Richtungen sind daher selbstverständlich möglich. Somit können Performance-kritische Programmteile in C ausgelagert geschrieben und integriert werden.

Es gibt auch Module, die Schnittstellen zu anderen Programmiersprachen bereitstellen. Dazu gehören beispielsweise Jython oder JPype. Ersteres ist ein Python-2-Java Bytecode Compiler, das zweite Modul erlaubt Python-Code Vollzugriff auf Java-Klassenbibliotheken.

Dazu kommt der Python Package Index: ein Archiv von über drei Millionen OpenSource Files steht der Anwendercommunity gratis zur freien Verfügung. Diese sind sauber in mehr als zehn aussagekräftige Sektoren kategorisiert, so dass man leicht "seinen" Anwendungsbereich identifizieren und schnell ein passendes Modul finden kann, das sich beim Schreiben eigener Programme einsetzen lässt.

Die unten verwendete Grafik stellt diese Sektoren (mit einer frei angenommenen Wichtung) in einer Wortwolke aus verschiedenen Text-Elementen dar, die in nur wenigen Minuten mit dem Modul wordcloud erstellt wurde.

Python Wordcloud

Bild 3: Diese Grafik wurde mit wordcloud erstellt.

 

Die Python Community – "Hier werden Sie geholfen!"

Ob man als Einsteiger oder als „Advanced Programmer“ mit Python zu tun hat – es gibt eine sehr große Gemeinschaft im Internet, die in Foren und Blogseiten Codings erläutert, Lösungsvorschläge zu Fehlermeldungen macht, ausgearbeitete Tutorials zur Verfügung stellt, historische oder zukünftige Entwicklungen diskutiert oder auch nur tägliche Python-Rätsel-Aufgaben für die Kaffeepause per Gratis-Abo via Mail verteilt. So fällt das Lernen und das Aneignen von Wissen der neuen Programmier-Sprache leicht.

Bei der endlosen Liste der gängigsten Portale wie Stackoverflow.com, python-forum.de, blog.pythonlibrary.org, thepythonguru.com, realpython.com, talkpython.fm, blog.finxter.com, pybloggers.com fehlen natürlich auch nicht die Programmierer der Python Software Foundation selbst, die ihre Community unter pyfound.blogspot.com mit News, Tips und Lösungen unterstützen.

So wird die tägliche Arbeit sehr erleichtert, indem Portale wie Stackoverflow die Qualität der Antworten extrem steigern, weil dort nur fortgeschrittene Programmierer Lösungsvorschläge posten dürfen. Das spart viel Zeit und Nerven!

Keep it short and simple

In der Python-Syntax wird auf umständliche Blockklammern beim Schreiben des Source Codes verzichtet.

Folgende Codelistings führen alle zum gleichen Ergebnis, doch Python punktet durch Übersichtlichkeit und Kürze und Verlagerung von Aufgaben in Untermodule. "Mit Python schreibe ich ein Programm deutlich schneller", werden viele sagen.

Python Code

Bild 4: Vergleich der Codelänge dreier Programmiersprachen


Mit der Anwendung jupyter-notebook kann man Python in seinem Lieblingsbrowser laufen lassen. Das wird auch häufig im Studium zur Mitschrift in Vorlesungen verwendet, weil sich nicht nur Code live schreiben, ausführen und ausprobieren lässt, sondern das Ganze wie in einem Textverarbeitungsprogramm formatiert werden und dann für verschiedene Zwecke einfach im nächsten Schritt in die benötigten Subvarianten wie HTML, XML, MarkdownLanguage, PDF und natürlich in Python Code *.py abgespeichert werden kann.

Python ist einfach

Bild 5: Direkt ausführbare Codeblöcke im jupyter-notebook

 

Machine Learning und Künstliche Intelligenz mit Python

Python ist nicht ohne Grund die vorherrschende Sprache für Machine Learning. Viele bedeutende ML-Frameworks wie Facebooks PyTorch sind in Python geschrieben. Apache Spark, ein Big Data Framework, setzt ebenfalls auf Python. Das Modul scikit-learn ist ein komplettes Paket für Machine Learning und künstliche Intelligenz, das für Data Mining, zur Datenanalyse und für KI-Zwecke auch in Apps verwendet werden kann.

scikit-learn

Bild 6: Entscheidungsbaum von scikit learn

 

Mit Pytorch und Keras stehen Module für neuronale Netze für Objekt- beziehungsweise Spracherkennung und für Deep Learning zur Verfügung. Für Projekte mit Website-Content, sei es Erstellung oder Downloads, werden Tools wie Django, Flask oder Scrapy verwendet.

Mit den Modulen NumPy und Pandas für Numerische Analysen und Dataframes sowie matplotlib können 2D/3D Datenvisualisierungen erstellt werden. Das Seaborn Modul nutzt matplotlib zur Darstellung von Grafiken, was wichtig für die Datenanalyse ist. Matplotlib wird bei komplexeren Berechnungen und Darstellungen zunehmend sperriger für den Benutzer, Seaborn vereinfacht dies dann wiederum.

Grafiken mit Python

Bild 7: Datenvisualisierung mit Python

 

Tensor Flow ist ein Python-Framework, welches für Machine Learning und für Deep Learning eingesetzt wird. Es zählt zu den besten Werkzeugen der Objektidentifikation und Spracherkennung, wird permanent weiter entwickelt und für grafische Analysen, wie beispielsweise bei GPUs (Grafikprozessoren) eingesetzt (z. B. beim Typ Xavier NX, Hersteller Nvidia).


Jetson Xavier

Bild 8: Auch Grafikprozessoren harmonieren mit Python

 

Datenverarbeitung und Automatisierung mit Python

Mit sqlalchemy oder sqlite3 kann man auf Datenbanken zugreifen. SqlAlchemy spielt dabei Stärken aus, indem man sich bei SQL Abfragen nicht mehr um verschiedene "Dialekte" unterschiedlicher Hersteller wie MySQL, PostgreSQL oder Oracle kümmern muss. Auch Daten von Windows-Anwendungen können verarbeitet werden.

Das Python-Modul win32com stellt einen Client zur Verfügung, der auf Microsoft Outlook-, Word- und Excel-Daten zugreifen kann. So lassen sich zum Beispiel Outlook-Termine nach bestimmten Keywords durchsuchen und deren unstrukturierte Beschreibungen leicht und zielführend auswerten. Tabellen können automatisiert verändert werden. Begriffe in Word Files können automatisch, auch in Unterordnern, gesucht und ersetzt werden.

Auch vor GUI-Programmierung und der Generierung von graphischen Oberflächen zur Eingabe von Daten oder Parametern macht Python nicht Halt. Das Modul Tkinter liefert dazu viele hundert Befehle, die gut dokumentiert und im Verhältnis zu anderen Programmiersprachen, wie vba oder Java, sehr leicht umsetzbar sind.



Raumtemperatur

Bild 9: Python ermöglicht die einfache Erstellung von Formularen und Masken

 

IoT, Raspberry Pi und Python

DIY: If you love IoT & Raspberry Pi, Arduino & Co., you will love Python!

Auf der Do-it-yourself-Baustelle ist Bewegung. Amazon liefert fast 900 Buchvorschläge allein zu den zwei Stichworten "Python" und "Raspberry Pi". Die Preise purzeln für die scheckkartengroßen Mini-Einplatinenrechner in den verschiedenen Versionen, so dass eine Entwicklung zu niedrigen Kosten möglich ist.

Mit Add-On Modulen können diese kleinen Alleskönner mit unterschiedlichen Sensoren und anderen Features ausgestattet werden. Ob Sie nun eine kleine eigene Wetterstation, Ihre Gewächshaussteuerung, einen kleinen Webserver mit Homepage oder Telemetriedaten Ihrer IoT Hub-Instanzen in Ihre Microsoft-Azure Cloud stellen oder einen eigenen Mini-Roboter bauen wollen – Python ist hier fast immer das Mittel der Wahl, um solche Anwendungen zu programmieren und erleichtert Ihnen das Spiel.

IoT-Projekte erfordern teilweise spezielle Protokolle, wie beispielsweise MQTT, welches auch mit Python Requests implementiert werden kann. Auch Big Player bewegen sich auf diesem Parkett. So findet man auf Github auch Pakete wie das IoT Software Developer Kit für die AWS-Welt (Amazon Web Services).


Bild 10: Einplatinencomputer Raspberry Pi

 

Welche Nachteile hat Python?

Wirkliche Nachteile von Python sind im Zeitalter immer schneller werdender Computer kaum zu finden. Manchmal wird die dynamische Typisierung als Nachteil erwähnt, da es damit aufwändiger ist, falsche Datentypen abzufangen. Gelegentlich wird auch die geringere Performance genannt, aber da man bei zeitkritischen Vorgängen auch andere Sprachen einbetten kann, fällt dieses Argument immer weniger ins Gewicht.

Ein Wermutstropfen ist weiterhin, dass unter Python kein Multithreading möglich ist. Somit sind für höchste Performance Grenzen gesetzt.

Python – unser Fazit

Python zeichnet sich durch seine enorme Flexibilität und Erweiterbarkeit, sowie einfache Handhabung und Beliebtheit unter Programmierern aus.

Python ist inzwischen eine der gängigsten Programmiersprachen geworden und eignet sich für den Einsteiger genauso gut wie für den Profi. Topaktuelle Aufgaben in Bereichen wie beispielsweise künstliche Intelligenz, Machine Learning, Cloud-Anwendung, Spiele-Entwicklung, Datenanalysen-Pipelines, Microservices, DevOps, CI/CD, Data Engineering oder die Steuerung für Docker und Kubernetes lassen sich allesamt mit Python bewältigen.

Also wird es höchste Zeit, sich mit Python zu beschäftigen und das Programmieren in dieser Sprache zu lernen! Wir stehen Ihnen gerne mit Rat und Tat zur Seite und haben für Ihre speziellen Anforderungen sicher auch den passenden Kurs in unserem Angebot – von den Grundlagen mit Einsteiger-Tutorial bis zum Experten-Wissen. Sie können den Kurs als Präsenzveranstaltung besuchen oder auch online. Termine dazu bieten wir in großer Zahl, in fast jeder Woche können Sie einen Python Kurs besuchen.

Das könnte Sie auch interessieren

 

Python Schulung bei ExperTeach – eine Übersicht unseres Kurs-Angebots im Bereich Python

Python ist ja ganz nett, aber ist C nicht besser und überhaupt was soll dieses Einrücken? – Python Skript der Rheinischen Friedrich-Wilhelms-Universität Bonn

Stackoverflow.com – eine der wichtigsten Python Communities