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

为什么这不起作用?

lambda: print "x"

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

最佳答案

lambda 的主体必须是单个表达式。在 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

https://stackoverflow.com/questions/2970858/

相关文章:

linux - "Failed to load platform plugin "xcb ""在没有

python - 如何用 Python 四舍五入到小数点后两位?

python - 如何正确使用单元测试的 assertRaises() 和 NoneType 对象?

python - 如何将 JSON 转换为 CSV?

python - 通过 Python 在 Linux 上的进程列表

python - 检查字符串是否可以在 Python 中转换为 float

python - 为什么 Python 3.x 的 super() 有魔力?

python - 使用 Python 将 XML 转换为 JSON?

linux - 计算特定目录中的目录数

linux - 如何在单个命令中创建目录并授予权限