Kann jemand dieses Verhalten von Lambda-Funktionen erklären?Lambda und mehrere Anweisungen in Python
import sys
X = lambda: sys.stdout.write('first');sys.stdout.write("second")
X()
Returns: -> secondfirst
Und ein weiteres Problem:
lambda: sys.stdout.write("...");sys.exit(0)
Oder
lambda: sys.exit(0);sys.stdout.write("...")
nicht korrekt ausführen Hat. Und noch eine Frage, warum in der ersten Primer-Ausführung fließt von rechts nach links?
Der Versuch, mit: Python3 + (3.4, 3.2) OS: Linux (Ubuntu), OSX
Warum möchten Sie ein Lambda so machen? –
Ich möchte nicht Lambda auf diese Weise verwenden, erste Primer wurde in Code von Nagios Plugin gefunden, und ich bin neugierig, warum es auf diese Weise funktioniert :) – user4549992
'Lambda' sind * Ausdrücke * und ihren Körper muss ein Ausdruck sein. Sie können ** keine Anweisung in ein Lambda schreiben, geschweige denn mehrere Anweisungen. – Bakuriu