为什么这个 Python 2 lambda with print 不起作用?
Why this Python 2 lambda with print doesn't work?
有人可以向我解释一下为什么这个非常简单的 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
是吗?
在 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
.
有人可以向我解释一下为什么这个非常简单的 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
是吗?
在 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
.