Ausdrucksstärkere Funktionen
Lerne Pythons REPL kennen
Bisher hast du meistens ein vollständiges Programm im Editor geschrieben und dann auf Run geklickt. Das funktioniert gut, wenn mehrere Zeilen zusammengehören. Manchmal möchtest du aber nur ein kleines Stück Python ausprobieren und das Ergebnis sofort sehen.
Das Panel neben dieser Lektion bietet eine andere Möglichkeit, mit Python zu arbeiten: die REPL. Der Name wird oft ungefähr „reppel“ ausgesprochen.
REPL steht für:
Read: den eingegebenen Python-Code lesen;
Evaluate: ihn ausführen und sein Ergebnis ermitteln;
Print: dieses Ergebnis anzeigen, wenn es eines gibt;
Loop: zum Anfang zurückkehren und auf weiteren Code warten.
Ein Ausdruck wie 2 + 3 wird zum Wert 5 ausgewertet. Die REPL zeigt diesen Wert an und wartet dann auf weiteren Code. Dahinter steckt kein versteckter Trick: Python berechnet das Ergebnis, und die REPL zeigt es.
Jede vollständige Zeile oder jeder vollständige Block, den du eingibst, wird ausgewertet. Manche Anweisungen, etwa eine Zuweisung oder eine Funktionsdefinition, erledigen eine Aufgabe, liefern aber keinen Wert, den die REPL anzeigen könnte. In diesem Fall zeigt die REPL die nächste Eingabeaufforderung.
Du musst die vier Wörter hinter REPL nicht auswendig lernen. Betrachte sie als Gespräch: Du gibst Python Code, Python wertet ihn aus, zeigt ein eventuelles Ergebnis an und wartet dann auf deine nächste Eingabe.
Lies die Eingabeaufforderungen
Wenn die REPL bereit ist, zeigt sie diese Eingabeaufforderung:
>>>
Die Eingabeaufforderung bedeutet „Python ist bereit“. Du tippst dahinter. Tippe die drei Zeichen > nicht selbst.
Gib versuchsweise Folgendes in die REPL ein:
2 + 3
Der vollständige Austausch sieht so aus:
>>> 2 + 3
5
>>>
Python liest 2 + 3 und wertet den Ausdruck aus. Das Ergebnis dieser Auswertung ist der Wert 5. Daher zeigt die REPL 5 und anschließend eine neue Eingabeaufforderung an.
Ausdrücke zeigen ihre Werte
In einem Programm rufst du normalerweise print() auf, wenn du einen Wert sehen möchtest. Die REPL zeigt automatisch den Wert an, der beim Auswerten eines Ausdrucks entsteht. Das Print in REPL beschreibt diesen Anzeigeschritt. Es bedeutet nicht, dass die REPL heimlich einen print()-Aufruf zu deinem Code hinzufügt.
Probiere diese Ausdrücke nacheinander aus:
"python land".title()
len([10, 20, 30])
10 > 4
Die Stringmethode .title() gibt einen neuen String zurück, in dem jedes Wort mit einem Großbuchstaben beginnt. Hier gibt sie dir eine konkrete Methode zum Erkunden; die REPL zeigt ihren Rückgabewert sofort an.
Du kannst print() weiterhin in der REPL verwenden, brauchst es für ein kurzes Experiment aber oft nicht.
Namen bleiben verfügbar
Weise jetzt einem Namen einen Wert zu:
course = "Python Fundamentals II"
Die REPL zeigt für eine Zuweisung kein Ergebnis an. Das bedeutet nicht, dass sie fehlgeschlagen ist. Gib den Namen in der nächsten Zeile ein:
course
Die REPL merkt sich course und zeigt seinen Wert an. Werte und Funktionen bleiben verfügbar, solange die REPL-Sitzung läuft. Die Schaltfläche Restart startet eine neue Sitzung und entfernt sie.
Du kannst auch die Pfeil-nach-oben-Taste drücken, um einen früher eingegebenen Befehl zurückzuholen. Das ist nützlich, wenn du ihn ändern und erneut ausprobieren möchtest.
Gib eine Funktion über mehrere Zeilen ein
Eine Funktionsdefinition braucht mehr als eine Zeile. Gib die erste Zeile ein:
def double(number):
Die Eingabeaufforderung wechselt von >>> zu .... Diese Fortsetzungsaufforderung bedeutet, dass Python auf den Rest der Definition wartet. Gib den eingerückten Funktionskörper ein:
return number * 2
Drücke dann in der leeren Zeile mit ... noch einmal Enter. Die leere Zeile teilt der REPL mit, dass die Funktionsdefinition fertig ist.
Der gesamte Austausch sieht so aus:
>>> def double(number):
... return number * 2
...
>>> double(6)
12
Die Eingabeaufforderungen >>> und ... gehören zur Anzeige der REPL. Sie gehören nicht zum Python-Code der Funktion.
Ein Fehler beendet die Sitzung nicht
Wenn eine Anweisung fehlschlägt, zeigt die REPL den Fehler an und kehrt dann zu >>> zurück. Du kannst die Anweisung korrigieren und weiter experimentieren. Früher erstellte Werte bleiben verfügbar.
Wenn du alles verwerfen und neu beginnen möchtest, verwende Restart.
Was solltest du eingeben, wenn die REPL >>> anzeigt und du 4 + 5 berechnen möchtest?
Erkunde die REPL, bevor du weitergehst
Berechne mit der REPL einen Wert, speichere einen unter einem Namen und definiere eine kleine Funktion. Probiere auch die Pfeil-nach-oben-Taste und Restart aus.
Die nächste Lektion lässt die REPL geöffnet und untersucht damit die Dokumentation, die in Funktionen gespeichert ist.