Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #6084
| From | ram@zedat.fu-berlin.de (Stefan Ram) |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Zuweisung via return |
| Date | 2024-07-03 20:35 +0000 |
| Organization | Stefan Ram |
| Message-ID | <return-20240703213533@ram.dialup.fu-berlin.de> (permalink) |
| References | <7324215d-fbce-490c-97de-f0a825e85780@online.de> <Ergebnis-20240703211010@ram.dialup.fu-berlin.de> |
ram@zedat.fu-berlin.de (Stefan Ram) schrieb oder zitierte: >def length( sequence ): > return length( sequence[ 1: ])+ 1 if sequence else 0 Aber vielleicht ist es das, was Du (Andreas) meintest, als Du schriebst: "'else' sollte nur die Funktion mit dem neuen Zähler aufrufen, selbst aber nichts zurückgeben.", insofern als bei mir hinter "else" kein "return" steht! Du überträgst hier einen Programmierstil, wie man ihn in LISP verwenden, würde auf Python und verwendest noch einige Begriffe in unpassender Weise, etwa, wenn Du Dir vorstellst, "return" könnte etwas zuweisen oder "else" etwas zurückgeben. Falls Du früher in LISP programmiert hast und jetzt auf Python umsteigen solltest, ist es ganz natürlich, daß Du erst einmal die LISP-Denkweise auf Python überträgst. Das "else:" in einer "if"-Anweisung kennzeichnet den Zweig, der ausgeführt werden soll, wenn der Wahrheitswert des if- Ausdrucks "False" ist. Es kann keine Funktionen aufrufen. Mit "return" wird die Beendigung der Inkarnation der Funktion ausgelöst, deren Definition die kleinste das "return" enthaltende def-Definition ist. Dabei kann hinter "return" noch ein Ausdruck folgen, der den Wert des Funktionsaufrufs festlegt, der die Inkarnation der Funktion erzeugt hat, bei deren Ausführung dieses "return" ausgeführt wird. "return" kann nichts an eine Variable zuweisen.
Back to de.comp.lang.python | Previous | Next | Find similar
csiph-web