[Python-de] "Funktionalitaet" von Python

holger krekel pyth at devel.trillke.net
Fri Aug 30 13:16:35 EDT 2002


Stefan Schwarzer wrote:
> Hallo Dinu :-)
> 
> Dinu Gherman wrote:
> > kann mir jemand die aktuelle Aufregung um die mehr oder 
> > weniger vorhandenen funktionalen Eigenschaften von Python
> > erklaeren? Guido wollte ganz sicher kein funktionales Py-
> > thon und er wuergt immer noch, wenn er nur an "lambda" 
> > denkt!
> > 
> > Warum ist Python funktional? "Map", "filter" und "reduce" 
> > kann jeder in wenigen Zeilen Python selbst schreiben. Macht 
> > "lambda" Python schon funktional? Doch wohl kaum... Es ist
> > manchmal praktisch, wenn man keine Funktion deklarieren
> > will/kann und das war's dann auch schon mit dieser Funkt-
> > ionalitaet in Python! ;-)
> 
> lambda, map usw. stören mich nicht "an sich", man _kann_ damit sicher guten,
> lesbaren Code schreiben. Das Problem sehe ich aber darin, dass diese Konstrukte
> es ziemlich leicht machen, schwer verständlichen Code zu schreiben, der zuviel
> "auf zu engem Raum" tut. Aus dem gleichen Grund, so denke ich, gibt es keine
> Zuweisungs-_Operatoren_ und keinen ternären ?: -Operator wie in C.

hauefig werden ja list-comprehensions als Alternative vorgeschlagen. Um
zum Beispiel alle keys in B zu finden, die nicht in A sind:

    [ k for k in B if k not in A ]

(Zitat aus einer aktuellen c.l.py diskussion)

da finde ich die "funktionale" Variante lesbarer:

    map(lambda x: not x in A, B)

Die List-Comprehensions haben fuer meine Geschmack zu viele 
"free-floating" Zeichen ohne jeden Halt fuer das Auge.

Da finde ich map/lambda & friends netter, obwohl ich
keine Lisp-Vergangenheit habe. 

gruss,

    holger




More information about the Python-de mailing list