267
9.5
Ausgabe von Werten mit der print()-Funktion
(Enter)-Taste betätigen, wird diese Zeichenfolge vom Laufzeit-System in das Pseudofile
sys.stdin geschrieben. Die ersten drei Zeilen des folgenden Skripts simulieren die
input()-Funktion. In Zeile #1 wartet das Programm, bis die (Enter)-Taste gedrückt worden
ist. Dann wird der eingegebene Text aus der Standard-Eingabe gelesen und der Variablen
eingabe zugewiesen. Probieren Sie es aus:
Programmlauf:
Auch für die Ausgabe eines Textes im Shell-Fenster gibt es im Modul
sys ein Pseudofile. Es
hat den Namen
sys.stdout und wird als Standard-Ausgabe bezeichnet. Das Objekt sys.
stdout
verhält sich wie ein File, das nicht gelesen, sondern nur – mittels der Methode
write() – beschrieben werden kann. Der Inhalt von sys.stdout wird nach dem Beschrei-
ben vom Laufzeitsystem automatisch auf den Bildschirm gebracht. Will man in einem
Python-Skript einen Text im Shell-Fenster ausgeben, so kann man anstelle einer
print()-
Anweisung auch die Methode
sys.stdout.write() verwenden:
9.5 Ausgabe von Werten mit der print()-Funktion
Um Daten über den Bildschirm auszugeben, verwenden Sie die print()-Funktion. Das
haben Sie schon oft gemacht. In diesem Abschnitt lernen Sie noch einige zusätzliche Facet-
ten dieser Funktion kennen. Das allgemeine Format eines
print()-Aufrufs lautet:
Wie Sie bereits wissen, kann man mit der
print()-Funktion beliebige Objekte ausgeben,
die für eine Ausgabe vorgesehen sind: Zahlen, Strings, Listen usw. Solche Objekte besitzen
eine Methode namens
__str__(), die bei der Ausgabe verwendet wird. Diese Methode
erzeugt zu dem Objekt eine Zeichenkette. Mehr dazu erfahren Sie in Kapitel 10.
Die Objekte, die ausgedruckt werden sollen (das können beliebig viele sein), werden als
Argumente beim Aufruf der Funktion ausgeführt:
import sys
print("Eingabe: ", end = " ")
eingabe = sys.stdin.readline() #1
print("Sie haben Folgendes eingegeben: ", eingabe)
Eingabe: Hallo Welt!
Sie haben Folgendes eingegeben: Hallo Welt!
>>> import sys
>>> sys.stdout.write("Hallo Welt!")
Hallo Welt!
print([object, ...], sep=' ', end='\n', file=sys.stdout)
>>> print("Zähle", 1, 2, 3)
Zähle 1 2 3
Kapitel 9
Ein- und Ausgabe
268
Nun gibt es noch weitere optionale Schlüsselwort-Argumente, auf die ich jetzt eingehe.
Das Argument
sep spezifiziert einen Separator-String. Wenn zwei oder mehr Objekte in
einem einzigen
print()-Aufruf ausgegeben werden, steht zwischen den beiden Objekten
der Separator-String. Voreingestellt ist ein einzelnes Leerzeichen
' '. Wenn Sie keinen
besonderen Separator spezifizieren (wie im letzten Beispiel), erscheint zwischen den ausge-
gebenen Werten ein Leerzeichen.
Hier sind einige Beispiele für die Nutzung von Separatoren:
Das zweite Schlüsselwort-Argument
end legt fest, was am Ende – hinter dem letzten Objekt
– ausgegeben werden soll. Voreingestellt ist der String
'\n', also eine Escape-Sequenz, die
das »Neue Zeile«-Zeichen beschreibt. Deshalb wird bei aufeinanderfolgenden
print()-
Aufrufen immer eine neue Zeile begonnen, wenn nichts anderes spezifiziert ist. Mit dem
Schlüsselwort-Argument
end="" sorgen Sie dafür, dass keine neue Zeile begonnen wird.
Hier noch zwei Beispiele:
Das letzte Beispiel ist besonders raffiniert und verwendet einen bedingten Ausdruck für die
Belegung des
end-Arguments (siehe Abschnitt 5.3). Wenn noch nicht das Ende der Liste
erreicht ist (Bedingung:
obst!=s[-1]), wird hinter die Ausgabe der String " oder "
geschrieben. Nach dem letzten Element s[-1] wird eine neue Zeile begonnen.
Das dritte optionale Argument spezifiziert das File, auf das geschrieben werden soll. Eigent-
lich ist
print() für eine Bildschirm-Ausgabe gedacht. Deshalb ist der voreingestellte Wert
file=sys.stdout. Aber Sie können auch ein beliebiges anderes File-Objekt spezifizieren,
auf das Daten geschrieben werden sollen.
>>> print(1, 2, 3, sep="-")
1-2-3
>>> print(1, 2, 3, sep="\t") # Tabulator
1 2 3
>>> print(1, 2, 3, sep="\n") # neue Zeile
1
2
3
>>> for i in range(5):
print(i, end=" ")
0 1 2 3 4
s = ["Äpfel", "Birnen", "Pflaumen"]
>>> for obst in s:
print(obst, end=" oder " if obst!=s[-1] else"\n")
Äpfel oder Birnen oder Pflaumen

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.