Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

In dieser Veranstaltung nutzen wir die Programmiersprache Python um dem Computer seine Aufgaben mitzuteilen. Werkzeuge aus dem Jupyter-Ökosystem ermöglichen die Python-Programmierung in einer sehr komfortablen grafischen Umgebung.

3.2.1Warum Python?

Python ist eine moderne, kostenfreie und quelloffene (“open source”) Programmiersprache. Sie entstand in den 1990er Jahren. Die erste offizielle Version wurde 1994 veröffentlicht. Autor und BDFL (“benevolent dictator for life”) ist Guido van Rossum.

Strichzeichnung, die eine Person am Boden zeigt, welche sich darüber wundert, dass die andere Person fliegt

I wrote 20 short programs in Python yesterday. It was wonderful. Perl, I’m leaving you. Source: Randall Munroe, xkcd.com/353

Python-Code ist sehr gut lesbar und enthält im Gegensatz zu den meisten anderen Programmiersprachen nur wenige “kryptische” Zeichen und Zeichenketten. Viele technische Aspekte des Programmierens werden von Python erledigt ohne den Nutzer damit zu konfrontieren. Mit Python kann man Software aus allen Bereichen entwickeln; von einfachen Skripten für die tägliche Arbeit bis zu vollwertigen Desktop- oder Webanwendungen. Tausende Erweiterungen ermöglichen zügiges und effizientes Arbeiten.

Als freie Software verfügt Python über eine riesige Online-Community, die mit Rat und Tat zur Seite steht. Kaum eine Frage, die nicht schon irgendwo beantwortet wurde.

Liniendiagramme zur Popularität verschiedenener Programmiersprachen von 2008 bis 2022

Fragen zu Programmiersprachen auf Stack Overflow. Quelle: Stack Overflow Trends (vom Autor bearbeitet)

Python ist für alle Plattformen verfügbar: Linux, macOS, Windows und viele andere. Python steht beispielsweise hinter großen kommerziellen Projekten wie dem Youtube-Player, läuft eventuell aber auch in der Steuereinheit Ihrer Waschmaschine (vgl. MicroPython).

3.2.2Jupyter

Das Jupyter-Ökosystem ist eine Sammlung von Werkzeugen für die Python-Programmierung mit dem Schwerpunkt auf Nutzerfreundlichkeit und leichte Bedienbarkeit für Anfänger. Jupyter erlaubt das Programmieren mit Python im Webbrowser. Ausgaben, wie beispielsweise komplexe und interaktive Visualisierungen, können direkt zwischen dem zugehörigen Quellcode platziert werden. Alles befindet sich in einem einzigen Dokument: Code, Ausgaben, erklärender Text, Bilder, Formeln,...

Bildschirmfoto von JupyterLab mit einem laufenden Notebook

JupyterLab ist das am weitesten verbreitete Mitglied des Jupyter-Ökosystems. Es bringt Python in den Webbrowser.

JupyterLab steht in vielen Formen zur Verfügung (vgl. Übung 2):

Welche Variante genutzt wird, ist für die Veranstaltung nebensächlich. Außerdem kann Python auch ganz ohne Jupyter genutzt werden.

3.2.3Python-Crashkurs

Erwähnen hier als ersten Einstieg in Python beispielhaft einige Grundfunktionen. Weitere Möglichkeiten folgen im Laufe der Veranstaltung nach Bedarf. Für das weiterführende Selbststudium sind das Kapitel Python Crash Course sowie die darauf folgenden Kapitel in Data Science and Artificial Intelligence for Undergraduates geeignet.

3.2.3.1Taschenrechner

7
256
1.5811388300841898
2.5
2
1

3.2.3.2Bessere Ausgaben

irgendein Text
Wurzel aus 2 ist 1.4142135623730951.

Mehr Infos zu solchen Ausgaben: f-String und Minisprache für Stringformatierung.

Wurzel aus 2 ist 1.414.

3.2.3.3Variablen

Wurzel aus 2.0 ist 1.414.

Es gibt verschiedene Variablentypen (Ganzzahl, Kommazahl, Zeichenkette,...).

<class 'int'>
<class 'float'>
<class 'str'>

Umwandlungen sind zwischen geeigneten Typen möglich.

123456
und als Zahlen: 579

3.2.3.4Listen

Listen sind Folgen von Variablen, deren Name einem einheitlichen Schema folgen (Listenname plus Index).

rot
gelb
grün
blau
blau
['gelb', 'grün']

3.2.3.5Bedingte Ausführung

3 / 2 = 1.5

Wichtig: Test auf Gleichheit mit ==. Das einfache = ist der Zuweisungsoperator und kann nicht für Vergleiche verwendet werden.

3.2.3.6Wiederholte Ausführung

rot
gelb
grün
blau
0
2
4
6
8

3.2.3.7Module und Pakete

Die Funktionalität von Python kann durch Module und Pakete erweitert werden. Module sind Sammlungen von zusätzlichen Funktionen. Pakete sind Sammlungen von Modulen. Praktisch besteht bei der Verwendung kein Unterschied zwischen Modulen und Paketen.

0.7071067811865476
0.7071067811865476
0.7071067811865476

Python verfügt nur über wenige eingebaute Grundfunktionen. Man wird fast immer zusätzliche Module und Pakete benötigen, die ggf. erst installiert werden müssen.