Die Funktoren »str« und »repr« in Python
Normalerweise verwendet »print« den Funktor ›str‹, um eine Textdarstellung des Auszugebenden zu erhalten.
- Konsolenprotokoll
print( "abc" )
abc
- Konsolenprotokoll
print( str( "abc" ))
abc
Die Konsole verwendet zur Ausgabe normalerweise den Funktor »repr«.
- Konsolenprotokoll
print( repr( "abc" ))
'abc'
Wir nennen das Ergebnis der Anwendung von ›str‹ auf ein Objekt auch die str-Darstellung jenes Objektes.
Wir nennen das Ergebnis der Anwendung von ›repr‹ auf ein Objekt auch die repr-Darstellung jenes Objektes.
Die str-Darstellung eines Objektes ergibt dessen „normale“ Textdarstellung für die Ausgabe, während die repr-Darstellung mehr eine Textdarstellung ergeben soll, die Literalen aus dem Quelltext ähnelt oder für Programmierer möglichst genau und informativ sein soll.
Fachbegriffe unterscheiden: „REPL“, »repr« und „Perl “ ⃗
Ein Python -Implementation, die über ein Konsolenfenster verwendet wird, wiederholt immer wieder drei Schritte: das Einlesen einer Eingabe, das Auswerten der Eingabe und die Ausgabe einer Textdarstellung des bei der Auswertung erhaltenen Wertes. Eine Wiederholung wird „Schleife“ genannt; eine Schleife der beschriebenen Art wird auch „Einlesen-Auswerten-Ausgeben-Schleife“ genannt, oder auf englisch “read-eval-print loop ”, dafür verwendet man auch das Initialwort “REPL”.
Aus den Buchstaben des Wortes “REPL” kann man auch „Perl “ bilden – den Namen einer Programmiersprache, die für ähnliche Anwendungsgebiete wie Python eingesetzt wird.
Das aufrufbare Objekt »repr« ist also nicht dasselbe wie eine REPL oder Perl.