Menu

Python print() und input(): Nutzereingaben lesen und Ausgabe zeigen

Wie Pythons print()- und input()-Funktionen funktionieren — plus Trennzeichen, End-Zeichen und wie du Nutzereingaben in Zahlen umwandelst.

Die zwei Funktionen, die dein Programm interaktiv machen

Die meisten frühen Python-Programme haben dieselbe Form: frag den Nutzer mit input() etwas, tu etwas mit der Antwort und berichte mit print() zurück. Diese beiden eingebauten Funktionen sind, wie dein Code mit der Welt spricht.

Nehmen wir sie nacheinander.

In der einfachsten Form schreibt print() eine Textzeile ins Terminal:

main.py
Output
Click Run to see the output here.

Das gibt das Wort hello gefolgt von einem Zeilenumbruch aus. Der Zeilenumbruch trennt einen print-Aufruf auf dem Bildschirm vom nächsten.

Du kannst mehrere Werte in einem Aufruf übergeben, und Python setzt ein Leerzeichen zwischen sie:

main.py
Output
Click Run to see the output here.

Ausgabe:

Name: Ada Age: 36

Die Werte müssen keine Strings sein. print ruft str() auf jedes Argument auf, du kannst Typen also frei mischen:

main.py
Output
Click Run to see the output here.

Das Trennzeichen ändern

Willst du kein Leerzeichen zwischen den Werten, nimm sep:

main.py
Output
Click Run to see the output here.

Das Zeilenende ändern

Standardmäßig hängt print einen Zeilenumbruch an. Mit end änderst du das — zum Beispiel, um die Ausgabe in derselben Zeile zu halten:

main.py
Output
Click Run to see the output here.

end="" ist der Trick, um eine Zeile Stück für Stück aufzubauen.

Standardmäßig schreibt print nach stdout (Standardausgabe) — der normale Ort, an dem Terminalausgabe erscheint. Mit dem Argument file kannst du nach stderr, in eine Datei oder in jedes andere dateiartige Objekt umleiten:

main.py
Output
Click Run to see the output here.

Für formatierte Ausgabe — zwei Nachkommastellen, aufgefüllte Spalten, Kommas in großen Zahlen — nimm f-Strings innerhalb von print:

main.py
Output
Click Run to see the output here.

input(): Vom Nutzer lesen

input(prompt) hält das Programm an, zeigt den Prompt und wartet. Was immer der Nutzer tippt — bis er Enter drückt — kommt als String zurück.

main.py
Output
Click Run to see the output here.

Drei Dinge an input, die Neulinge beißen:

Es liefert immer einen String

Selbst wenn der Nutzer 42 tippt, bekommst du den String "42" zurück. Du kannst damit nicht direkt rechnen:

main.py
Output
Click Run to see the output here.

Deshalb siehst du häufig int(input(...)) oder float(input(...)) inline. Tippt der Nutzer etwas, das keine gültige Zahl ist, wirft int() ValueError — damit gehen wir im Kapitel über Ausnahmen ordentlich um.

Der Prompt ist optional

Übergibst du keinen Prompt, wartet input() stumm, was fast immer falsch ist — der Nutzer hat keine Ahnung, was du wissen willst. Übergib immer einen klaren Prompt:

main.py
Output
Click Run to see the output here.

Es entfernt nichts

Was immer der Nutzer tippt, einschließlich führender und nachgestellter Leerzeichen, kommt unverändert zurück. Wenn das für deine Logik zählt, ruf .strip() auf:

main.py
Output
Click Run to see the output here.

Ein kleines vollständiges Programm

Alles zusammen — ein paar Zeilen, die den Nutzer nach seinen Infos fragen und einen kleinen Bericht ausgeben:

main.py
Output
Click Run to see the output here.

Zwölf Zeilen. Sie lesen sich von oben nach unten wie eine Anleitung, nicht wie Code. Das ist der Stil, den diese Dokumente fördern wollen.

Was ist mit print-basiertem Debugging?

Du hörst manchmal, „echte Entwickler nutzen einen Debugger, keine print-Anweisungen“. Das ist übertrieben. Print ist ein vollkommen gutes Debugging-Werkzeug, besonders für kleine Skripte und schnelle Experimente. Streu print-Aufrufe großzügig ein, während du etwas herausfindest, und entferne sie, wenn du fertig bist.

Zwei kleine Komfort-Tricks:

main.py
Output
Click Run to see the output here.

Das = innerhalb eines f-Strings gibt Name und Wert aus — das spart viel Boilerplate wie print("name =", name).

Weiter

print und input geben dir eine vollständige Gesprächsschleife: fragen, lesen, antworten. Das nächste Kapitel mischt Bedingungen ein — die if-Anweisung und die Operatoren, die entscheiden, was dein Programm auf Basis der Werte tut, die es sieht.

Häufig gestellte Fragen

Was macht print() in Python?

Es schreibt Werte ins Terminal. print("hello") gibt hello gefolgt von einem Zeilenumbruch aus. Du kannst mehrere Werte mit Kommas trennen, und print() setzt standardmäßig ein Leerzeichen zwischen sie.

Wie funktioniert input() in Python?

input(prompt) pausiert das Programm, zeigt den Prompt, wartet, bis der Nutzer etwas tippt und Enter drückt, und liefert das Getippte als String zurück. Immer als String — willst du eine Zahl, pack den Aufruf in int(...) oder float(...).

Wie gebe ich in Python in derselben Zeile aus?

Übergib end="" an print. Standardmäßig hängt print nach der Ausgabe einen Zeilenumbruch an; end auf einen leeren String (oder ein anderes Zeichen) zu setzen, ersetzt diesen Umbruch.

Lerne mit Coddy zu programmieren

LOS GEHT'S