Rückgabewert
return gibt einen Wert aus der Funktion heraus. cups_left bekommt started und drank und gibt started - drank zurück. cups_left(3, 1) ist deshalb die Zahl 2.
print steht außerhalb der Funktion und schreibt, was dabei herausgekommen ist. cups_left hat keinen eigenen print.
def cups_left(started, drank):
return started - drank
print(cups_left(3, 1))
Auf dem Bildschirm steht 2. Das hat print geschrieben, nicht cups_left. Mit anderen Zahlen wird eben diese Differenz genommen. cups_left(3, 3) ist 0, weil 3 - 3 gleich 0 ist.
Eine Zeile unter return ist weiter eingerückt und gehört zur Funktion. Sie läuft trotzdem nicht. return verlässt die Funktion sofort, und Python kommt bei dieser Zeile nie an.
def cups_left(started, drank):
return started - drank
print("done")
print(cups_left(3, 1))
Auf dem Bildschirm steht 2. done wird nicht geschrieben. print("done") ist unter def eingerückt, aber return hat die Funktion schon verlassen.
Ohne return kommt nichts zurück, und das Ergebnis ist None. None heißt: kein Wert. greet schreibt den Namen und hat kein return. lida auf dem Bildschirm kommt von diesem inneren print. Das Ergebnis von greet("lida") selbst ist None.
def greet(name):
print(name)
print(greet("lida"))
Auf dem Bildschirm steht lida, dann None. greet hat lida geschrieben. Der äußere print hat das Ergebnis geschrieben. Das Ergebnis ist None, weil greet kein return hat.
Drei Aufrufe, und was jeweils herauskommt. In der Zeile mit greet steht None, obwohl auf dem Bildschirm auch lida steht. Dieses lida ist der innere print, nicht das Ergebnis.
📊 Was herauskommt
| Aufruf | Ergebnis |
|---|---|
| cups_left(3, 1) | 2 |
| cups_left(3, 3) | 0 |
| greet("lida") ohne return | None |
Die nächste Seite sagt, wo ein Name gilt. Hier geht es nur um den Wert, der herauskommt.
Vor der Antwort
- Was schreibt print(cups_left(3, 1))?
- Was ist cups_left(3, 3)?
- print("done") steht unter return. Wird done geschrieben?
- greet schreibt nur den Namen. Welche zwei Zeilen schreibt print(greet("lida"))?
Der Wert, der herauskommt
return started - drank macht das Ergebnis zu dieser Zahl. print(cups_left(3, 1)) schreibt 2, und cups_left(3, 3) ist 0. Eine Zeile unter return läuft nicht, also erscheint done nie. Ohne return schreibt print(greet("lida")) lida und dann None.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt