Python lernen als Hobby

Träumt ihr auch davon zu Programmieren? Dann könnte Python lernen euer nächstes Hobby werden. Die Sprache ist beliebt und bietet einige spannende Anwendungsmöglichkeiten.

Ich weiß gar nicht wie lange ich schon davon träume, Programmieren zu können.

Ich bewundere Programmierer. Sie können aus dem Nichts etwas erschaffen, Gedankenkonstrukte Realität werden lassen. Wo alle „normalen“ Menschen auf Apps und Websites angewiesen sind, bauen sich Programmierer, wenn sie nichts Passendes finden, einfach ihren Traum selbst. Das ist echt abgefahren!

Python lernen: Mein Lerntagebuch

Hier berichte ich regelmäßig von meinen aktuellen Fortschritten und Gedanken rund um meine Reise mit Python.

(Einträge folgen)

Wie ich anfing Programmieren zu lernen

Ich weiß gar nicht was das letzte Fünkchen war, was aus meinem Wunsch Realität werden ließ. Irgendwann aber setze ich mich hin und fing an. Als Basis diente mir ein Udemy-Kurs.


Was ist Udemy?
Bei Udemy handelt es sich um eine Plattform für Online-Kurse. Man kann hier eine Menge lernen – unter anderem Programmieren. Anders als bei YouTube-Videos sind die Inhalte nicht frei aufrufbar, sondern nur nach Kauf des jeweiligen Kurses. Das bedeutet zwar Ausgaben, dafür ist die Struktur von Udemy eher auf Lernen ausgelegt. Man kann Lernblätter herunterladen, Notizen erstellen und erhält auch Zertifikate.


In dem Kurs, der sich über 30 Stunden erstreckt, geht es unter anderem um die Basics aber auch um fortgeschrittenes Wissen. Der Dozent ist recht charmant und das er deutsch spricht macht es einfacher dem Inhalt zu folgen, als bei z.B. einem englischsprachigen Kurs.

Für mich bedeutete der Anfang erstmal viele Fragezeichen. Ich verstand die grundlegenden Funktionen, konnte aber immer noch nicht greifen, was man alles machen konnte und was nicht. So in etwa, wie wenn man das erste Mal eine Tischkreissäge sieht und denkt „Ja, damit kann man bestimmt coole Sachen machen“ aber noch keine Ahnung von den vielen Tipps und Tricks hat, die durch unterschiedliche Höhen, Winkel und sonstige Einstellungen erreicht werden können.

Ich arbeitete mich durch die Lektionen und bin Stand heute auch noch nicht damit durch. Aber nach und nach verbinden sich die verschiedenen Wissensteilchen und ergeben ein Bild, das wächst. Ich lerne zu verstehen wann ich welche Funktion benutze, was ich wie ansprechen kann und wie sich Python in das ganze große Bild des Programmierens einfügt.

Ergänzend zu dem Kurs habe ich irgendwann angefangen mit der App Mimo zu arbeiten. Hier gibt es einen Kurs für Python, der recht spielerisch die Programmiersprache mit ihren verschiedenen Funktionen und Möglichkeiten erklärt. Eine, wie ich finde, gute Ergänzung zu einem Videokurs, da hier recht viel praktisch gemacht wird. Und zudem gilt: Doppelt hält besser :-).

Timo hilft beim Python lernen

Was Mimo so spannend macht, sind folgende Inhalte:

  • Individuelle Lernziele: Man kann definieren, wie viele Minuten man täglich lernen will.
  • Streaks: In Deutsch würden wir übersetzen „Strähne“. Bezeichnet wird damit die Dauer an Tagen, an denen man täglich sein Lernziel erreicht hat.
  • Level: Durch das Abschließen von Lektionen erhält man Erfahrung und erklimmt neue Level.
  • Wettbewerb: Es gibt ein sogenanntes Leaderboard. Hier sieht man die gesammelte Erfahrung anderer Lernender. Hat man in einer Woche genug Erfahrung gesammelt, wechselt man in eine höhere Liga.
  • Überschaubare Lektionen: Man kann Mimo gut mal in der Mittagspause oder einfach zwischendurch öffnen und lernen. Die Lektionen dauern nur wenige Minuten.

Viel von den Lektionen kannte ich von Duolingo, mit dem ich aktuell italienisch lerne.

Aktuell setze ich mich meist täglich hin. Dabei versuche ich hier und da mein Python-Wissen zu erweitern und auch selbst ein paar Zeilen zu schreiben. Entstanden ist daraus mein erstes (kleines) Projekt.

Mein erstes Python-Projekt

Es ist wirklich klein. Und es ist im Aufbau. Aber ich freu mich riesig, dass es funktioniert und ich erstmals ein Script geschaffen habe, das arbeitet.

Mein erstes Projekt erlaubt es Wetterdaten für eine Stadt und ein bestimmtes Datum abzufragen. Dafür nutzt es eine API (Schnittstelle eines externen Anbieters). Wie genau das geht plane ich mal in einem separaten Beitrag zu erklären.

Was das Script macht ist:

  1. Nach einem Ort zu fragen
  2. Nach einem Datum zu fragen
  3. Den Ort, das Datum und die Temperatur des Tages für den Ort wiederzugeben

Total simpel, aber es funktioniert. Spannend fände ich das Script weiter auszubauen und es so zu gestalten, dass es täglich die Durchschnittstemperatur des Vortags aufruft und in eine Tabelle überträgt. So würde ich dort ein kleines Archiv aufbauen, aus dem ich dann die Temperaturentwicklung der letzten Monate nachvollziehen könnte.

Warum Python?

Gute Frage. Es gibt einige Programmiersprachen, die attraktiver zu sein scheinen. Will man z.B. eigene Websites bauen, werden HTML und CSS eine gute Wahl sein. Für Apps oder Websitetools wieder andere.

Beim Start habe ich ehrlich gesagt nicht so viel darüber nachgedacht, welche Sprache es werden soll. Erst im Nachhinein wurde mir klar, dass ich mit Python keine so schlechte Wahl traf. So schrieb t3n erst kürzlich einen Artikel, wo man erklärte, warum Python bis heute (die Sprache wurde vor 30 Jahren gegründet) relevant und weit verbreitet ist.

Damit man mit Python viel machen kann, braucht es natürlich Daten. Hier gibt es einige spannende APIs, auf die man zugreifen kann. Die werde ich weiter unten bei den „Tipps“ vorstellen.

Bevor man mit dem Programmieren lernen startet, lohnt es sich eine Übersicht zu den vorhandenen Sprachen zu verschaffen. Idealerweise hat man dabei schon eine Idee davon, was man eigentlich mit der Sprache machen möchte. Das dürfte die Auswahl wesentlich überschaubarer machen.

Meine Tipps für alle, die Python lernen (wollen)

Ich lerne Python noch nicht allzu lange. Vielleicht kann ich aber einigen von euch dennoch mit dem bisher Gelernten weiterhelfen.

Gute Lernquellen auswählen

Wenn man kein Programmierer ist wird man etwas Struktur brauchen, um Python zu lernen. Es braucht dafür gute Lernquellen. Eine könnte der vorgestellte Udemy-Kurs sein oder auch die erwähnte App Miro. Eine Alternative von der ich gehört habe ist freeCodeCamp. Hier hat man z.B. den Kurs Data Analysis with Python der kostenfrei ist.

Es lohnt auch mehrere Lernquellen (nicht zu viele) parallel zueinander zu verfolgen. Denn was für den einen Dozenten wichtige Funktionen von Python sind, sind für den anderen Dozenten wiederum andere.

Auf gute Software setzen

Um Python zu lernen sind z.B. Jupyter-Notebooks eine gute Wahl. Auch in dem von mir erwähnten Udemy-Kurs wird damit gearbeitet. Jupyter erlaubt es einzelne Codeabschnitte separat auszuführen, was ressourcenschonendes Arbeiten ermöglicht.

Für mein eigenes Projekt teste ich aktuell PyCharm, das in der Basis-Version kostenfrei ist. Hier stößt man auf viele praktische Funktionen. Die sind aber weniger für Lernende, mehr für mit Python Arbeitende sinnvoll.

Eigene Projekte bauen

Programmieren ist unter anderem deswegen so spannend, weil es das Erschaffen von Neuem ermöglicht. Damit aus der erlernten Theorie Praxis wird, solltet ihr euch daher daran setzen eigene Projekte zu bauen.

Ein Entwickler empfahl mir dazu mir ein Projekt auszuwählen, dass ich im Idealfall nicht nach paar Wochen abgeschlossen hätte. Sondern das mit den Monaten wächst. Es wird vermutlich nicht mein Wetter-Script sein. Vielleicht aber etwas vergleichbares.

Durch das Bauen einer Projekte lernt man auch besser (zumindest sehe ich das bei mir). Geht es dann um eine neue Funktion, die für das eigene Projekt gebraucht werden könnte, festigt sich das Gelernte viel eher. Und zuletzt macht es Spaß zu sehen, wie man sich entwickelt :-).

Mit APIs arbeiten

Für eigene Projekte kann es sehr hilfreich sein mit APIs zu arbeiten. Manche Anbieter stellen z.B. Wetterdaten bereit, andere liefern Definitionen von Wörtern und wieder andere aktuelle Zahlen rund um das Corona-Virus.

Bislang habe ich dafür Rapid API genutzt. Der Anbieter sammelt viele APIs und erlaubt recht simpel darauf zuzugreifen. Auch mein erstes Projekt nutzt eine Schnittstelle, die über Rapid API eingerichtet wurde.

Direkt zu Beginn des Python-lernens mit APIs zu arbeiten wird schwierig. Hat man sich aber mit Dictionarys, Listen & Co vertraut gemacht, dürfte es gelingen.

Kontinuierlich dran bleiben

Python zu lernen lässt sich gut mit dem Lernen einer neuen Sprache vergleichen. Lernt man einfach nur nebenbei und wann man gerade dazu Lust hat, wird es schwer wirklich erfolgreich zu sein. Es braucht regelmäßiges Lernen, damit aus der Theorie Praxis wird.

Mein Tipp ist daher: Beschäftigt euch regelmäßig mit Python lernen. Das kann z.B. täglich sein, aber auch Mehrach wöchentlich dürfte zu spürbaren Fortschritten führen.

Wenn man mal nicht weiter weiß: Stackoverflow

Ebenfalls begleitet mich während des Arbeitens mit Python Stackoverflow. Dabei handelt es sich um eine Website, wo Entwickler sich zu verschiedenen Themen austauschen.

Das erste Mal nutzte ich Stackoverlow, als ich 2 Stunden an einem Script saß, das einfach nicht funktionierte. Als ich dann die anderen Entwickler nachfragte, erhielt ich 5 Minuten später die Antwort, dass ich einen Buchstaben vergessen hatte (also statt „lines“ etwas wie „line“ geschrieben). Das war peinlich… Aber wie ich höre kommen solche „Rechtschreibfehler“ unter Entwicklern immer wieder mal vor.

Stackoverlow ist auch eine gute Quelle, wenn man auf Fehlermeldungen in seinem Code stößt. Da vermutlich schon viele Programmierer einen ähnlichen Fehler hatten, wird es dazu sicherlich auch eine passende Antwort geben.

Langfristige Motivation suchen

Python lernen ist ein langfristiges Projekt. Wer es als Hobby verfolgt, könnte bald die Motivation verlieren.

Mir persönlich hilft bei solchen Dingen ein langfristiges Ziel im Kopf zu haben. Ich träume davon mit Python coole Tools bauen zu können, die mir und anderen Menschen den Alltag erleichtern. Und vielleicht, wer weiß, werde ich eines Tages damit auch beruflich aktiv werden können :-).

Ich wünsche euch viel Erfolg beim Python lernen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert