为什么不在lambda中打印工作?

问题:

为什么这不工作?

lambda: print "x"

这不是单一的声明,还是别的?
文件似乎有点稀疏,在lambda中允许的内容…

回答:

lambda的身体必须是single expression。在Python 2.x中,print是一个语句。然而,在Python 3中,print是一个function(并且一个函数应用程序是一个表达式,因此它将在lambda中使用)。如果您使用最新的Python 2.x,您可以(并且应该为了正向兼容)使用后端口打印功能:

In [1324]: from __future__ import print_function

In [1325]: f = lambda x: print(x)

In [1326]: f("HI")
HI

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why doesn’t print work in a lambda?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 69 = 70