22. November 2019

Wo Python keine Schlange ist

Sie ist eine der beliebtesten Programmiersprachen und findet immer häufiger Anwendung: Python. Die Klubschule Migros bietet nun einen Einführungskurs an und verspricht, dass Programmiereinsteiger unter anderem lernen, einfache Spiele zu programmieren. Geht das? Das Migros-Magazin hat es versucht.

Farbige Grafik
Für Fortgeschrittene: Mit Python lassen sich farbige und komplexe Grafiken erstellen.

Ein Python ist nicht gerade ein Sympathieträger in der Tierwelt. Von der Schlange ist hier aber nicht die Rede, auch nicht von den britischen Comedians Monty Python. Python heisst eine Programmiersprache, und zwar eine für alle Fälle: Sie wird benutzt, um Software zu entwickeln, Daten zu analysieren, Grafiken und Designs zu zeichnen, Onlineshops zu erstellen oder Webseiten, Suchmaschinen und ganze Plattformen zu programmieren. Die Instagram-Entwickler beispielsweise benutzen Python.

Die Sprache wird auch im Bereich der künstlichen Intelligenz, dem sogenannten «Machine Learning», verwendet. Weil Python so breit einsetzbar ist und unzählige Funktionen beinhaltet, die bereits «vorgeschrieben» sind, ist die Sprache sehr beliebt. Sie gilt zudem als einfach in der -Anwendung, weil sie wenig Sonderzeichen enthält und einfach zu lesen sei – sagen zumindest Programmierprofis. Jedenfalls erlebt die Sprache einen Hype und läuft bisher genutzten Sprachen wie Java, C# oder C++ den Rang ab. So haben viele Universitäten und Gymnasien Python zur Standardsprache erkoren. Gründe genug, um zu testen, wie viel ein Anfänger an fünf Kursabenden lernt.

Eine Überraschung zu Beginn
Für eine Überraschung sorgt bereits die Anmeldebestätigung. Der Kursleiter ist eine -leiterin – in der Männerdomäne Informatik eher die Ausnahme: Sabina Schellenberg hat an der ETH Informatik studiert und entwickelt hauptberuflich Kundenmanagement-Software. Gleichzeitig lässt sie sich zur Informatiklehrerin auf Gymnasialstufe ausbilden.

Die Klassenzusammensetzung entspricht wiederum den Erwartungen: Neben sechs Teilnehmern bin ich die einzige Teilnehmerin – und als blutige Anfängerin eine Exotin. Die meisten Kurskollegen haben einen Informatikhintergrund und/oder Programmierkenntnisse.

Programmieren an sich scheint keine Hexerei zu sein: Man reiht Befehle aneinander, bis das Programm das gewünschte Resultat ausspuckt. An einer simplen Übung zeigt sich schnell: Der Schein trügt. Auf Papier schreiben wir die Befehle auf, wie aus einem Blatt Papier und einem Couvert ein versandfertiger Brief inklusive Adresse und Frankierung wird. Das Resultat im Check ist ernüchternd, das Papier, falsch gefaltet, passt nicht ins Couvert, die Adresse steht auf der Rückseite und die Marke klebt unten. Präzise Befehle in der richtigen Reihenfolge zu geben, ist nicht einfach.

Die zeichnende Schildkröte
Nach der Einführung geht es auch schon zur «Shell» - das ist ein Fenster in dem wir unsere ersten Python Befehle eingeben und ausführen. Kurze Zeit später schreiben dann wir schon mehrzeilige Programme in einem Editor. Dank der vielen bereits existierenden Funktionen bei Python wird es auch schnell konkret. Wir holen beispielsweise eine Schildkröte aus der Bibliothek, die zeichnen kann. Dafür tippe ich den simplen Befehl «from turtle import *» in die «Shell». Das Tierchen lässt sich in alle Richtungen bewegen und kann umfassende Grafiken zeichnen.

Für mich ist es schon ein Erfolg, der Schildkröte die richtigen Informationen zu geben, damit sie ein Quadrat zeichnet. Eine Sternform wird wegen vieler notwendiger Richtungswechsel und Winkelangaben schon zur Herausforderung. Praktisch ist die Funktion aber allemal: Man kann die Grösse der Grafik durch die Eingabe einer einzigen Zahl jederzeit ändern. Auch mit den Farben kann man spielen. Die Turtle macht Spass.

Für Einsteiger: Der Stern ist eine der ersten Grafiken, die Kurs­teilnehmer zu programmieren lernen.
Für Einsteiger: Der Stern ist eine der ersten Grafiken, die Kursteilnehmer zu programmieren lernen.


Strings – keine Seile oder Höschen
Nach der niedlichen Schildkröte wird es abstrakter. Ausdrücke wie Variable und Parameter erinnern mich an die Schulzeit – Mathematik war nicht mein Lieblingsfach. Die gute Nachricht: Bei Python haben Variablen nicht viel mit Rechnen zu tun. Sie sind viel mehr eine Art Platzhalter, deren Wert man praktischerweise jederzeit ändern kann.

Das Tempo im Kurs ist schnell aber für die meisten angemessen. Es folgen weitere Begriffe, die man auch schon gehört hat, aber nicht im Zusammenhang mit Programmierung: Strings etwa: Die haben weder mit Instrumenten, Schnüren noch knappen Höschen zu tun. Es handelt sich vielmehr um eine Abfolge von Zeichen. Diese Zeichenketten haben wir im Kurs oft benutzt. Das gilt auch für die Loops: Schleifen werden benutzt, um einen Teil des Programmcodes wiederholt auszuführen. Die Funktion erspart einem, die gleichen Befehle mehrmals eingeben zu müssen. Mit der Anweisung «while True» lässt man das Programm so lange laufen, bis «break» die drohende Endlosschleife stoppt.

So schlüssig alles in der Theorie ist, die Umsetzung hat es in sich. Der Moment der Wahrheit kommt immer dann, wenn ich das Programm laufen lasse: Enthält es einen Fehler, erklingt ein langer, unangenehmer Ton. Den kann man zum Glück ausschalten. Die Fehlermeldungen auf dem Bildschirm bleiben: «Type error» oder «Syntax error» steht da in roten Lettern. Ein fehlender Doppelpunkt, eine falsche Klammer, eine vergessene Zeileneinrückung – die Fehlerursachen sind zahlreich.

Spätestens jetzt schweift mein Blick verzweifelt zu Kursleiterin Sabina Schellenberg, die mit einer Engelsgeduld die Funktionen und Variablen immer wieder erklärt. Auch die Online-Dokumentation von Python (www.migmag.ch/python) ist eine gute Adresse für Erklärungen. Und regelmässiges Repetieren von Anwendungen und der Funktionen in Theorie und Praxis helfen, sich immer besser in der abstrakten Welt von Python zurechtzufinden. Auch Rollenspiele, in denen wir als Menschen die einzelnen Befehle ausführen, veranschaulichen den Ablauf eines Programms.

Zum Schluss doch noch ein Spiel
Ich hätte es nicht für möglich gehalten, doch am Ende schaffe ich es, ein Programm für ein Spiel(chen) zu schreiben. Zwar nur ein einfaches Zahlenspiel – aber viel wichtiger: Es beginnt Spass zu machen, zu tüfteln, auszuprobieren. Die roten Errorzeilen sind keine Strafe mehr, sondern spornen an, den Fehler zu suchen und zu korrigieren. Und das Programmierfenster mit eckigen Klammern, Anführungs- und Schlusszeichen und Variablen wirkt nicht mehr wie eine Rolle Papyrus mit Hieroglyphen, sondern gibt in etwa eine Idee, was das Programm macht. Das Motto heisst: weiterüben.

Fazit: Man muss kein Nerd sein, um in die Welt von Python einzutauchen. Erfolge stellen sich rasch ein. Aber etwas Fleiss ist nötig: Man sollte den Stoff aus dem Unterrichtsunterlagen wiederholen, danach heisst es: üben, üben, üben. 

Verwandte Artikel

Viola Amherd

Armee soll für Junge attraktiver werden

Jetzt ist wieder Lesezeit. Warum nicht mal zu einem Krimi aus Schweizer Feder greifen?(Bild: Alice Hampson/Unsplash)

Krimi-Neuheiten für lange, dunkle Nächte

Krimiautor Marcel Huwyler

Wenn die Tage dunkler werden

Silvia Erb mit Ballons

Mit Geld einen Wunsch erfüllt