Why is:
p = lambda s: print(s)
invalid syntax but:
def do_print(s):
print(s)
p = lambda s: do_print(s)
valid?
The body of a lambda has to be an expression, not a statement. print
is a statement.
Update: As pointed out, in 2.x, print
is a statement while in Python 3, it is a function.
which version of python are you using?; in python 2.7 (and before), print is a statement while in python 3 it's a function
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With