6 Stimmen

Warum kann print() nicht in einem Lambda-Ausdruck verwendet werden?

Warum das so ist:

p = lambda s: print(s)

ungültige Syntax aber:

def do_print(s):
    print(s)
p = lambda s: do_print(s)

gültig?

6voto

user225312 Punkte 117771

Der Körper eines Lambdas muss ein Ausdruck sein, keine Anweisung. print ist eine Aussage.

Aktualisierung: Wie bereits erwähnt, wird in 2.x, print ist eine Anweisung, während sie in Python 3 eine Funktion ist.

5voto

Dan D. Punkte 70371

Welche Version von Python verwenden Sie?; in Python 2.7 (und früher) ist print eine Anweisung während es in Python 3 ein Funktion

-1voto

kingman Punkte 51

Es ist die Art und Weise, wie die Sprache gelesen wird, die sie nicht tun kann p = lambda s: print(s) alles in einem Schritt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X