有人可以向我解释为什么这个非常简单的lambda表达式不起作用,究竟出了什么问题?
In [8]: print_me = lambda x: print x
File "<ipython-input-8-269dab9ac1a1>", line 1
print_me = lambda x: print x
^
SyntaxError: invalid syntax
但
print_me = lambda x: x
呢?
答案 0 :(得分:4)
在python中 2.X print
是一个语句而不是一个函数。因此,lambda
函数不支持此功能。但是,在python 3中,lambda x: print(x)
起作用,因为print
是一个函数。您还可以尝试在python 2.X中导入新的print
功能:
from __future__ import print_function
f = lambda x: print(x)
f(4)
打印4
。