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.

3.1 Die Read-Eval-Print-Loop (REPL)

Humboldt-Universität zu Berlin, Institut für Bibliotheks- und Informationswissenschaft

Im Kapitel zur Installation haben Sie einmal python3 --version im Terminal ausgeführt um sicherzustellen, dass Sie ein aktuelles und funktionierendes Python installiert haben. Nun machen Sie die ersten Schritte mit Python Code.

Starten der Python REPL

Führen Sie das Programm python3 im Terminal aus, so startet es in die REPL.

$ python3
Python 3.13.7 (main, Aug 14 2025, 11:12:11) [Clang 17.0.0 (clang-1700.0.13.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Um die REPL zu verlassen, tippen Sie quit() oder nutzen Sie (in Unix-basierten Betriebssysteme) die Tastenkombination Strg+D.

Ihr erstes Python

Die REPL verhält sich ähnlich zum Terminal, nur dass nicht Befehle nach (typischerweise) einem "$ " eingegeben werden, sondern dass Python-Code nach einem ">>> " eingegeben wird.

Nachfolgend finden Sie ein paar Beispiele. Probieren Sie diese selbst aus und ändern Sie sie dann ab.

>>> 2+2
4
>>> "Hallo, Welt!"
'Hallo, Welt!"
>>> print("Hallo, Welt!")
Hallo, Welt!

Ist der Python-Code noch nicht vollständig, so verändert sich der Prompt zu ... .

>>> print(
...
... "Hallo"
... )
Hallo

Die Struktur einer REPL

Eine REPL (siehe Figure 1) ist ein Programm, welches:

  1. Read: Einen Befehl oder hier ein Stück Python-Code einliest.

  2. Eval: Dann den Code ausführt.

  3. Print: Das Ergebnis des ausgeführten Codes zurück gibt.

  4. Loop: Und das solange wiederholt, bis es beendet wird (bei Python via quit()).

Figure 1:Zustandsdiagramm der Bestandteile einer REPL

Betrachten wir den Ablauf folgendes Szenarios:

  1. Sie starten den Python-Interpreter mit

    $ python3
  2. Python startet, gibt die Versionsinformationen aus und zeigt Ihnen mit dem Prompt >>> an, dass es zum Einlesen eines Python-Ausdrucks bereit ist.

    Die REPL ist nun im Zustand Read.

  3. Sie können nun einen Python-Ausdruck eingeben. Dieser kann print("Hallo") sein oder aber auch

    >>> print(
    ...   "Hallo"
    ... )

    Während Sie den Ausdruck eingeben bleibt die REPL im Status Read. Haben Sie einen vollständigen Ausdruck eingegeben (Wann ein Ausdruck “vollständig” ist lernen Sie später.) und drücken Sie dann die Eingabetaste, so wechselt die REPL in den Zustand Eval.

  4. Bei der Evaluation des Python-Ausdrucks versucht der Interpreter, den Code auszuführen. Ist er korrekt (und bezieht sich nur auf Namen(/Variablen), die bereits definiert wurden), so wird der Code ausgeführt. Nachdem der Code ausgeführt wurde wechselt die REPL in den Zustand Print und es wird das Ergebnis des gerade ausgeführten Python-Codes gedruckt.

  5. Dann wird in den Zustand Loop gewechselt und überprüft, ob eine Abbruchbedingung erreicht wurde. Ist dies nicht der Fall – soll also wieder von Anfang begonnen werden so wechselt die REPL zurück in den Zustand Read und der Ablauf springt damit zu Schritt 2. Soll die Schleife nicht fortgesetzt werden, so geht die REPL über in den Zustand Stop und der Python-Interpreter wird beendet.

Lernstandskontrolle

Nachvollziehen der Zustände der REPL

Solution to Exercise 1

zu 1: Hier wird eine Variable mit dem Namen hallo erzeugt in der das String-Literal "Hallo Python-Lernende" gespeichert wird. Dieser Ausdruck hat kein Ergebnis, weshalb nach der Zeile sofort der Prompt für die nächste Eingabe angezeigt wird.

zu 2: Hier besteht der Python-Ausdruck nur aus der Variablen mit dem Namen hallo. Eine Variable hat ihren Wert als Ergebnis, weshalb im Zustand Print der REPL das String-Literat 'Hallo Python-Lernende' ausgegeben wird (siehe 3).

Beachten Sie, dass in Python Strings entweder mit ' oder mit " umschlossen werden können. Sie sind gleichwertig und die Verwendung ist nur relevant, wenn der String selbst ein ' oder ein " enthält. Der String "Wie geht's?" müssten mit einfachen Anführungszeichen mit Hilfe eines sog. Escape-Zeichens geschrieben werden: 'Wie geht\'s?'. Anders herum wäre es bei diesem String: "Sie sagte: \"Hallo.\"" bzw. 'Sie sagte: "Hallo."'.

zu 4: Hier wird die Funktion print() genutzt um den Wert der Variablen hallo zu drucken. Dies geschieht im Zustand Eval und die Ausgabe dazu ist in 5 zu sehen. Die Funktion print() hat selbst kein Ergebnis, weshalb nichts zusätzliches durch den Zustand Print ausgegeben wird.

zu 6: In diesem Schritt wird wie beim ersten Beispiel die Funktion print() mit einem String-Literal genutzt. Die Ausgabe in 7 ist von der Version, die die Variable hallo nutzt nicht zu unterscheiden.

Nutzung der REPL

Loading...
Loading...