some_function = lambda x: 10 if x == 6 else 1
ist syntaktischer Zucker für:
def some_function(x):
return 10 if x == 6 else 1
Was bedeutet, dass es 10, wenn x == 6
wertet True zurück und 1 sonst zurück.
Persönlich bevorzuge ich die def
Form in allen außer den einfachsten Fällen, da es mehrzeilige Funktionen erlaubt, macht es klarer, welche Art von Overhead mit dem Aufrufen der aufrufbaren beteiligt ist, macht die Analyse der Schließung der Funktion einfacher, und öffnet den Geist des neuen Python-Programmierers für andere, komplexere Code-Objekte (wie Klassen), die ebenso zur Laufzeit konstruiert werden können.
Nun, "Python ist eine funktionale Sprache" ist ein bisschen eine Strecke. Es ist mehr eine imperative Sprache mit funktionalen Eigenschaften. – Gene
Genügend Funktionen in anderen Paradigmen, die man "Multi-Paradigma" nennen kann; wie fast alle gängigen Sprachen. – marr75
Danke. Das hilft wirklich. – user2195823