Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #6084

Re: [Python-de] Zuweisung via return

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>

Show all headers | View raw


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