小编典典

为什么 print 在 lambda 中不起作用?

all

为什么这不起作用?

lambda: print "x"

这不是一个单一的陈述,还是别的什么?关于 lambda 中允许的内容,文档似乎有点稀疏......


阅读 55

收藏
2022-08-27

共1个答案

小编典典

Alambda的主体必须是一个 表达式 。在 Python 2.x 中,print是一个语句。但是,在 Python 3
中,print是一个 函数 (而函数应用程序是一个表达式,因此它可以在 lambda 中工作)。如果您使用的是最新的 Python
2.x,您可以(并且应该为了向前兼容 :) 使用向后移植的打印功能:

In [1324]: from __future__ import print_function

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

In [1326]: f("HI")
HI
2022-08-27