Seite 1 von 1

"Funktionale Programmierung" in Py. guter programmierstil?

Verfasst: Montag 19. Dezember 2011, 18:39
von Costi
python hat ja konstrukte die von funktionalen programmiersprachen stammen.
schauen wir uns zum beispiel das da an:

Code: Alles auswählen

list(set(map(lambda a: a.split("/")[-2], filter(lambda a: a.count("/") == min_depth, inits))))
pythons syntax ist fuer sowas einfach nicht gemacht, in haskell wuerde das viel besser ausehen.


ist es "guter programmierstil" den obigen code zu schreiben?

Re: "Funktionale Programmierung" in Py. guter programmiersti

Verfasst: Montag 19. Dezember 2011, 18:45
von BlackJack
@Costi: Ich würde funktionale Programmierung in Python nicht als schlechten Stil ansehen, aber dass da kann man einfacher formulieren:

Code: Alles auswählen

list(set(a.split('/')[-2] for a in inits if a.count('/') == min_depth))
Da hätte ich persönlich keine Probleme mit in einem Python-Quelltext. Und in Haskell hätte man vielleicht auch eine „list comprehension“ geschrieben.

Re: "Funktionale Programmierung" in Py. guter programmiersti

Verfasst: Montag 19. Dezember 2011, 19:25
von DasIch
In Python sind Funktionsaufrufe wesentlich teurer, dementsprechend kann man nicht alle FP Konzepte einfach übernehmen.

Sinnvoll ist es Funktionen und Methode möglichst ohne Seiteneffekte auskommen zu lassen, diese möglichst klein zu halten und puren Code von Code mit Seiteneffekten zu trennen.