为什么这个带打印的Python 2 lambda不起作用?

时间:2015-03-08 11:27:21

标签: python lambda python-2.x

有人可以向我解释为什么这个非常简单的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 

呢?

1 个答案:

答案 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