[Python-de] Re: Zuweisung via return

[email protected] (Stefan Ram) 3 Jul 2024 20:35:51 GMT
Newsgroups gmane.comp.python.general.german
Organization Stefan Ram
Message-ID <[email protected]>
[email protected] (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.
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]