• Home
  • |
  • Blog
  • |
  • Python Tutorial [6/24] – Die Python input()-Funktion

Python Tutorial [6/24] – Die Python input()-Funktion

Zuletzt aktualisiert: Juni 26, 2023

In diesem Artikel wirst du lernen, wie du in Python Input entgegennehmen kannst. Bei unserem „Hallo Welt“-Programm haben wir uns bereits die print()-Funktion angesehen, die es uns ermöglicht, etwas durch das Python Programm ausgeben zu lassen. Damit ein Programm nun auch interaktiver gestaltet werden kann, steht uns die input()-Funktion zur Verfügung.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Inhaltsverzeichnis

1. Problemstellung - Warum benötigt man in Python input für seine Programme?

Um in Python Input, also Eingaben des Nutzers unseres Programms entgegenzunehmen, verwenden wir die input()-Funktion, welche auch als Gegenspieler der print()-Funktion angesehen werden kann. Damit du dir besser vorstellen kannst, was es mit dieser Funktion auf sich hat, werden wir uns das Thema nun in der Praxis ansehen.

Bisher haben wir in unserem Programm bereits mehrmals mit der print()-Funktion gearbeitet, wie man es beispielhaft auf der folgenden Abbildung erkennen kann:

print funktion

Beim Ausführen dieses Programms erhalten wir direkt die beiden Strings „Anfang des Programms“ sowie „Ende des Programms“ in der Ausgabe:

print ausgabe

Damit ist unser Programm allerdings noch ziemlich statisch.

2. Die input-Funktion in der Praxis

2.1. Die input-Funktion aufrufen

Bauen wir also an dieser Stelle einmal die input()-Funktion zwischen die beiden print-Anweisungen ein. Um die input()-Funktion aufzurufen, schreibt man zunächst das Wort „input“, gefolgt von einem runden Klammerpaar, das typischerweise bei Funktionen gesetzt wird. Mithilfe der runden Klammern wird eine Funktion aufgerufen.

python input funktion aufrufen

Beim Starten des Programms können wir nun feststellen, dass lediglich der String „Anfang des Programms“ auf der Konsole ausgegeben wird:

ausgabe vor input funktion

Es macht also den Anschein anzuhalten, sobald die input()-Funktion erreicht wird. Und genau das ist in der Praxis tatsächlich der Fall!

2.2. Die Arbeitsweise der Python input()-Funktion

Die Python input()-Funktion arbeitet nämlich folgendermaßen:

Sobald sie aufgerufen wird, stoppt das Programm und wartet auf die Eingabe des Nutzers. Diese Eingabe tätigt der Nutzer ebenfalls über die Konsole.

Nun können wir also beispielsweise in der Konsole in das frei stehende Feld klicken und einen Namen eingeben. Um die Eingabe zu bestätigen, drücken wir die Enter-Taste:

eingabe über konsole

Wie du auf dem folgenden Bild erkennen kannst, wird nun auch die print-Anweisung ausgeführt, die wir nach der input()-Funktion in unser Programm geschrieben haben. Danach wird das Programm beendet, was uns der Text „Process finished with exit code 0“ signalisiert:

restlicher Programmablauf

Da wir allerdings nicht wirklich etwas mit der Eingabe des Nutzers anfangen, macht die input()-Funktion im Moment noch wenig Sinn. Diesen Zustand werden wir natürlich unmittelbar ändern.

2.3. Eingaben mit Variablen auffangen

Im vierten Blogartikel der Python Tutorialreihe haben wir bereits das Konzept der Variablen kennengelernt, das wir uns an dieser Stelle zunutze machen werden. Eine Variable ermöglicht es uns, den eingegebenen Wert des Nutzers aufzufangen. Hierzu schreiben wir vor die input()-Funktion den Variablennamen gefolgt vom Zuweisungsoperator (=). Dieser weist der Variable den Wert zu, den die input()-Funktion entgegennimmt:

eingabe in variable auffangen

Der Ablauf des Programms sieht nun folgendermaßen aus:

  1. 1
    Das Programm startet und führt zunächst die erste print()-Funktion aus
  2. 2
    Anschließend führt es die input()-Funktion aus und wartet dabei so lange, bis der Nutzer eine Eingabe getätigt und diese mit der Enter-Taste bestätigt hat
  3. 3
    Diese Eingabe wird dann von der input()-Funktion zurückgegeben. Wir können uns das so vorstellen, dass der Wert, den der Nutzer eingegeben hat, nun an der Stelle im Programm steht, an der wir input() geschrieben hatten
  4. 4
    Da wir vor unserer input()-Funktion den Zuweisungsoperator eingesetzt haben, wird der zurückgegebene Wert an die Variable „name“ zugewiesen.

Mit anderen Worten bedeutet das, dass der vom Nutzer eingegebene Wert fortan in der Variable „name“ gespeichert ist. Dadurch haben wir die Möglichkeit, diesen Wert auch im weiteren Programmverlauf verwenden zu können.

Zum Beispiel, indem wir uns den Wert direkt im Nachhinein ausgeben lassen:

ausgabe des gespeicherten wertes
resultierende ausgabe

In unserem Programm können wir nun beispielsweise noch eine zweite input()-Funktion aufrufen und das Alter des Nutzers abfragen:

zweite input funktion
daraus resultierende ausgabe

Wie du sehen kannst, werden unsere Programme nach und nach wesentlich interaktiver.

2.4. Der Python input()-Funktion einen String übergeben

Einen Makel, den wir allerdings noch in unserem Programm beseitigen können, ist die Tatsache, dass der Nutzer keinen Hinweis darüber erhält, wann und wo er etwas eingeben muss.

Da wir das Programm selbst geschrieben haben, stellt es für uns kein Problem dar, den Input über die Konsole einzugeben, da wir schließlich auch wissen, was als Eingabe erwartet wird. Ein fremder Nutzer hingegen kann nicht wissen, was zu tun ist, wenn er keine Instruktionen von unserem Programm erhält. Aktuell müsste dieser also ein Vorwissen mitbringen, um überhaupt zu einer vernünftigen Ausgabe zu gelangen.

Um dieses Problem zu lösen, können wir der input()-Funktion in den runden Klammern noch einen String mitgeben, der beschreibt, was der Nutzer konkret tun soll.

Das können wir zum Beispiel folgendermaßen umsetzen:

string übergeben

Führt man das Programm nun aus, findet selbst ein Nutzer ohne Vorwissen heraus, welche Eingabe er tätigen muss, um im Anschluss eine sinnvolle Ausgabe zu erhalten:

finales programm

An dieser Stelle sind wir auch schon am Ende des heutigen Blogbeitrags angekommen. Nun kennst du sowohl die Python print()- also auch die Python input()-Funktion und hast mithilfe dieser bereits jetzt die Möglichkeit, deine ersten kleinen Programme zu schreiben!