Python lernen: Meine Reise mit der Programmiersprache

|  (aktualisiert am 16.09.2022)

Mittlerweile ist es mehr als 1 Jahr her, seit ich angefangen habe die Programmiersprache Python zu lernen. Hier nehme ich dich mit auf meine Reise, begleitet von vielen Fehlermeldungen und zahlreichen Besuchen auf Stack Overflow. Und erkläre, wie auch du Python lernen kannst.

Hinweis: Der Artikel wird immer wieder überarbeitet. Ein regelmäßiges Vorbeischauen lohnt also :-).

Es hat etwas Schöpferisches – so würde ich den Charme vom Programmieren beschreiben. Vielleicht kann man es damit vergleichen, was erwachsene Lego-Bastler, Heimwerker, Minecraft-Spieler und Hobby-Künstler begeistert: Wenn du es dir vorstellen kannst und dir die Zeit nimmst, dann kannst du theoretisch alles kreieren. Es dauert vielleicht ein wenig und zwischendurch wirst du dich dabei ertappen, gefühlt hunderte Tabs an Tutorials und Frage-/Antwort-Seiten zu schließen, aber du kannst etwas kreieren, quasi etwas aus dem Nichts erschaffen.

Das ist vermutlich der Grund, warum ich schon lange davon geträumt habe, eine Programmiersprache zu lernen. Was bislang nur ein Traum war im Sinne von „Irgendwann mach ich das mal“, ist im März 2021 Realität geworden. Ich habe mich hingesetzt und angefangen, Python zu lernen. 

Warum gerade Python?

Warum es gerade Python geworden ist, kann ich rückblickend gar nicht genau sagen. Ich bin eher zufällig auf die Sprache gestoßen, war aber nach den ersten Wochen dankbar, einige Studien und Artikel zu finden, die meine Wahl stützten: 

  • Auf dem PYPL Index (prüft, wie häufig nach Tutorials für Programmiersprachen in Google gesucht wird) ist Python mit rund 28 % (Stand September 2022) weltweit in Führung. Und auch gemäß einer Umfrage von 2020 unter 65.000 Entwicklern auf Stack Overflow nimmt Python immerhin Platz 3 der beliebtesten Programmiersprachen ein.
  • heise schrieb über Python, das 2021 seinen 30. Geburtstag feierte: Auch wenn Python zweifellos zu den gereiftesten Sprachen zählen darf, die sich in vielen Anwendungsfeldern etabliert und bewährt hat, steckt sich die Community weiterhin ambitionierte Ziele und treibt die Fortentwicklung der Sprache voran.
  • Im Artikel „Diese Programmiersprachen solltet ihr 2022 unbedingt lernen“ berichtete t3n unter anderem über die Vorteile von Python für Datenwissenschaftler und Automatisierung. Als jemand, der im Online-Marketing arbeitet und täglich mit Daten jongliert, passt Python daher sehr gut zu mir.

Ist Python zu lernen schwer?

Bevor man eine Programmiersprache anfängt zu lernen ist es natürlich gut zu wissen, was einen erwartet. Also: Wie schwer ist es Python zu lernen?

Einige Dozenten und Programmierer, von denen ich gehört bzw. gelesen haben, bezeichnen Python als eine recht einfache Sprache für Starter. Wo in anderen Sprachen einige Gedanken mehr gemacht werden müssen, erweist sich Python als unkomplizierter. Und das deckt sich mit meinen Erfahrungen. Ich war teilweise erstaunt, wie schnell sich einfache Dinge umsetzen ließen.

Also: Verglichen mit anderen Programmiersprachen ist Python nicht schwer zu lernen.

Einen kleinen Vergleich hatte Fabian in seinem Artikel Do you speak code? Sieben Programmiersprachen im Überblick gemacht, in dem er in 7 Programmiersprachen ähnlichen Code ausführte. 

Wofür brauche ich Python?

In den letzten Monaten bin ich immer wieder auf neue Möglichkeiten gestoßen, wofür man Python verwenden kann. Einige von ihnen stelle ich dir hier vor.

Kleine Randnotiz: Einige der bekanntesten Unternehmen, wie z.B. Google, Pinterest, Spotify oder auch Netflix, setzen Python in ihren Web-Diensten ein.

Automatisierung

Es gibt einen Haufen APIs, die man mit Python ansprechen kann (viele werden z.B. auf Rapid API angeboten). Das, verbunden mit zahlreichen Modulen, erlaubt recht schnell Automatisierungen zu erstellen. Ein paar Beispiele:

  • Tägliches Erfassen und Abspeichern des Wetters.
  • Einen sich selbst aktualisierenden Report erstellen mit weltweiten Statistiken rund um Covid-19.
  • Erhalten einer Meldung, wenn sich etwas auf einer Website verändert hat.
  • Regelmäßiges Messen und Abspeichern der Performance einer Website.

Für letzteres lässt sich z.B. die PageSpeed Insights API von Google verwenden. Sobald die Verbindung steht, lässt das Script z.B. über PythonAnywhere regelmäßig ausführen. Dann "nur" noch eine Verbindung zu einem Speicherort herstellen (z.B. Google Sheets) und schon kann man z.B. täglich die Performance einer Website erfassen und festhalten. 

Data Science

Python bietet einige spannende Möglichkeiten, um mit Daten zu arbeiten. Dabei helfen Programmbibliotheken wie Pandas, NumPy oder SciPy. Und viele mehr. In Verbindung mit Data Science leistet auch das Jupyter Notebook wertvolle Dienste. 

Mit Data Science und Python lassen sich aus Rohdaten wertvolle Erkenntnisse ziehen. So kann z.B. ein Export aller Bestellungen der letzten 3 Monate für einen Onlineshop untersucht werden. Pandas hilft dann dabei den Export zu säubern (z.B. doppelte oder nicht bezahlte Bestellungen entfernen, doppelte Kundenkonten entfernen, aus dem Geburtsdatum jedes Kunden den Geburtstag berechnen, über den Wohnort das Bundesland bestimmen). Anhand der Daten lassen sich dann Fragen beantworten wie:

  • An welchen Wochentagen finden die meisten Bestellungen statt?
  • Wie viele Bestellungen wurden mit einem Gutscheincode verbunden?
  • In welchem Bundesland wurden die meisten Bestellungen getätigt?
  • Wie häufig legen Kunden mindestens 2 Accounts an?
  • Wie viele Bestellungen waren "Gastbestellungen" ohne Account?
  • Wie alt ist der durchschnittliche Käufer?

Web Scraping

Web Scraping beschreibt das Auslesen von Inhalten im Web - und bietet echt viele spannende Einsatzmöglichkeiten. So lassen sich z.B. regelmäßig Preise in Onlineshops untersuchen, Schlagzeilen aus News-Seiten sammeln oder auf Immobilien-Seiten Inserate auslesen. Eine wichtige Bibliothek dafür kommt mit BeautifulSoup. Mit dieser lassen sich URLs aufrufen und die erhaltenen Informationen auslesen sowie filtern. 

Webentwicklung

In Kombination mit anderen Programmiersprachen lässt sich Python auch zum Erstellen von Websites verwenden. Zwei wichtige Frameworks dafür sind Django und Flask. Diese sind dahingehend spannend, dass sie die ganzen Python-Stärken auf eine Website bringen. Damit lassen sich unter anderem interessante Tools bauen.

Mein Weg Python zu lernen

Alles begann mit einem Kurs bei Udemy: „Python Bootcamp: Der Einstiegskurs“. Begleitet von einem sympathischen Dozenten fing ich an, mir Anaconda zu installieren, Jupyter zu starten und in einer Welt aus Funktionen, Variablen und Strings zu versinken. 

Screenshot aus Jupyter

Jupyter (hier ein Screenshot) ist ideal, wenn man plant, Python zu lernen. Es verbindet ein Notizbuch mit den Möglichkeiten, Python-Code zu schreiben und auszuführen.

Meine Reise habe ich zu Beginn durch Mimo ergänzt, einer App, die es mir erlaubte auch am Smartphone oder Tablet zu lernen. Der Anbieter führt Kurse für Programmiersprachen durch und verfolgt dabei einen spielerischen Ansatz. Damit konnte ich das Gelernte aus den Videokursen festigen und in recht praktischen Übungen umsetzen. Tägliche Lektionen wurden zu meinen Begleitern.

Parallel zu beiden Kursen fing ich an, erste kleine Projekte zu entwerfen. Ein Wetter-Script, das mir täglich für meinen Wohnort Wetterdaten über eine API in ein Google Sheet schrieb. Ein weiteres Script, das die Preise von Amazon-Produkten ermittelte. Noch ein Script, dass eine zufällige Person als „Mitarbeiter der Woche“ im Marketing festlegte. Nichts Großes. Aber Dinge, die mir erlaubten, das erwähnte schöpferische Potenzial auszuleben. Das fühlte sich wundervoll an!

Für diese Projekte bin ich sehr dankbar, weil ich durch sie viel gelernt habe, wovon ich heute profitiere. Schleifen, Funktionen, das Importieren und Arbeiten mit Modulen, Listen, Dictionaries, verschiedenen Datentypen, Automatisierung und einiges mehr macht heute wesentlich mehr Sinn für mich.

Neben Udemy und Mimo fand sich ein dritter Begleiter für meine Reise: Stack Overflow. Ich erinnere mich noch gut an meine erste Frage auf der Plattform. Ich kam bei einem Script nicht weiter und hatte nach langer Fehlersuche meine Frage möglichst klar und informativ vorbereitet. Fünf Minuten nach der Veröffentlichung bekam ich bereits eine Antwort: Ich hatte nur einen Buchstaben vergessen (Beispiel: „group“ anstatt „groups“). Richtig gelesen, EINEN einzigen Buchstaben. 

Auf der einen Seite fühlte ich mich unglaublich dämlich, auf der anderen Seite aber war es, als wäre ich damit ein Teil der Entwickler-Community geworden, wo stundenlanges verzweifeltes Debuggen (= Suchen nach Fehlern) in einem fehlenden Semikolon oder eben einem fehlenden Buchstaben endet.

Screenshot Stack Overflow

Mehr als 1,7 Millionen Fragen wurden auf Stack Overflow schon zu Python gestellt.

Woran ich meinen Fortschritt am besten merkte, war der Umgang mit Plattformen wie Stack Overflow und Github sowie den Dokumentationen von Modul-Entwicklern und API-Anbietern. Was bei mir früher für einen rauchenden Kopf und viele Fragezeichen sorgte, kann ich heute nachvollziehen. Code-Zeilen sind nicht nun nicht mehr nur irgendwelche Zeichenfolgen mit zwischendurch bekannten englischen Wörtern, sondern verständliche Anweisungen. 

Einige Monate nach meinem Start ergänzte ich meine Reise durch einen Kurs bei Codecademy. Hier bietet man unter anderem Kurse an, die sich nah an der Praxis orientieren. Neben grundlegenden Aspekten von Python geht es dann darum, wie man z.B. als Data-Scientist mit großen Datenmengen arbeitet, diese säubert, korrekt formatiert und anschließend Berechnungen vornimmt.

Nützliche Tools, um Python zu lernen

Einige Tools, die mir beim Arbeiten mit Python helfen, habe ich schon genannt. An dieser Stelle sammle ich sie nochmal:

  • Jupyter Notebook: Eine Web-basierte Entwicklungsumgebung für Python, die besonders im Bereich Data Science punktet sowie auch für Einsteiger tolle Features mit sich bringt. Ich nutze Jupyter Notebook aktuell über Anaconda.
  • PyCharm: Eine Entwicklungsumgebung für Python, mit der sich auch größere Projekte gut umsetzen lassen. Die Community-Edition ist kostenfrei.
  • Stackoverflow: Die Plattform für jeden Entwickler, der eine Frage zu seiner Arbeit hat. Liefert auch rund um Python hilfreiche Tipps.

Mein aktueller Stand mit Python

Seit dem Start meiner Reise mit Python ist mehr als ein Jahr vergangen. Ich bin immer noch weit davon entfernt, ein Profi in der Programmiersprache zu sein. Aber dank ihr kann ich heute schon viele Dinge verstehen, in Theorie und manchmal Praxis Dinge nachbauen, die für mich sonst ein Buch mit sieben Siegeln waren.

Mittlerweile beschäftige ich mich mehr und mehr auch mit anderen Programmiersprachen, da diese häufig Berührungspunkte mit Python haben. Plane ich z.B. Webentwicklung oder Webscraping besser zu verstehen, komme ich nicht an HTML und CSS vorbei. Will ich im Bereich Data Science vorankommen, sollte ich mit Datenbanken arbeiten können. Das Lernen geht also weiter :-).

Praxis: Erste Schritte, damit auch du Python lernen kannst

Du denkst darüber nach ebenfalls Python zu lernen? So würde ich dir empfehlen vorzugehen.

Einen Python-Kurs auswählen

Fang an, indem du dich für einen Python-Kurs entscheidest. Du findest einige Angebote auf Udemy sowie Codecademy. Mit letzterem bin ich bislang am zufriedensten gewesen. 

Natürlich kannst du auch nach Lust und Laune Python lernen und z.B. einige Tutorials zu Projekten auf YouTube (z.B. den Sudoku-Löser) anschauen. Dabei kann es aber schnell passieren, dass einige wichtige Grundlagen an dir vorbeiziehen und du einfach nur Tutorials folgst, ohne das Gesehene zu verstehen.

Hinweis: Wenn du bereits Vorerfahrungen mit Programmiersprachen hast, wird ein Python-Kurs vermutlich einige Wiederholungen mit sich bringen. Dennoch würde ich dir empfehlen ihn durchzuarbeiten, um dich mit den Eigenheiten der Sprache vertraut zu machen.  

Ein Lerntempo definieren

Meiner Erfahrung nach ist es nicht gut, das Python-Lernen in die Kategorie "Wenn ich mal Zeit hab, mach ich das" zu schieben. Stattdessen macht es Sinn sich Lernzeiten einzuplanen, in denen man die Programmiersprache weiter kennenlernen will. 

Ich versuche aktuell etwa 3-5 mal die Woche zu lernen. Dabei geht es für mich nicht um 5-Stunden-Blöcke, sondern häufig nur kurze Einheiten von 30 Minuten. So bleibt das Gelernte frisch und die Hürde sich hinzusetzen klein. Gibt es dann doch mal etwas mehr Zeit, wird auch gerne länger gelernt.

Vorschläge für Python-Projekte

Sobald man seine ersten Schritte mit Python geht, macht es Sinn, Praxiserfahrung zu sammeln. Das geht gut, indem man für das Gelernte nach Anwendungsmöglichkeiten im Alltag sucht

  • Du liebst Bücher? Warum nicht mit einem Script anhand der ISBN den Autoren, den Titel und das Veröffentlichungsjahr in eine Google-Tabelle schreiben?
  • Du willst eine eigene Website für ein Hobby bauen? Mach das doch mit deinem Wissen zu Python und Flask.
  • Du arbeitest mit SISTRIX, Google Analytics, Twitter oder etracker? Jeder der genannten Tools bietet eine API (und eine dazugehörige Dokumentation), die sich per Python ansprechen lässt. So lassen sich z.B. wöchentlich aktualisierende Reportings bauen oder häufig vorgenommene Berechnungen automatisieren.
  • Ihr plant als Agentur ein Weihnachts-Wichteln? Warum baust du nicht das passende Programm für das Wichteln?

Mit den Projekten wird all das Gelernte relevant für die Praxis. Und je weiter du in Kursen kommst, umso besser, kreativer oder eleganter kannst du deine Projekte optimieren. 

Ich wünsche dir viel Erfolg!

Tipp!

Du feilst nicht nur an deinen Python Kenntnissen sondern baust auch Webseiten? Dann profitiere jetzt von unserem 24/7 Kundenservice, der dir in Fragen zu deinem CMS und Shop-System zur Seite springt. Buche jetzt dein Hosting bei Mittwald!

Ähnliche Artikel:

mittwald

Do you speak code? Sieben Programmiersprachen im Überblick

Fabian stellt heute die sieben gängigsten Programmiersprachen vor. Welche passt zu deinen Vorhaben?

Weiblicher Softwareentwickler programmiert am Computer
Webentwicklung

Warum nutzen wir welche Programmiersprache?

In diesem Artikel erfahrt ihr, welche Programmiersprachen unsere Entwickler nutzen und welche Vor- und Nachteile die einzelnen Sprachen bieten.

WordPress-Redakteure benötigen keine Vorkenntnisse
Webentwicklung

Diese Skills brauchst du als WordPress Nutzer

WordPress kann doch jeder. Wirklich? Lukas erklärt, was man als WordPress Admin draufhaben sollte.

Kommentare

Raphael am

Mit einer Prise Udemy, viel Youtube und Stack Overflow kommt man schon über die Runden. :-) Ich finde es klasse, wie ehrlich du über deine Erfahrungen und Fortschritte sprichst. Hut ab!