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

标签 python printing lambda python-2.x

为什么这不起作用?

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

关于python - 为什么 print 在 lambda 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970858/

相关文章:

c++ - 如何在Qt中打印pdf文件

python - 使用 Python 的 lambda 函数排列字符串的数量

c# - 没有声明的 Lambda 表达式?

意外结果的 C++ 闭包

python - 如何在 linux 中从不同的路径运行 python 程序

python - 如何从 Dataframe 中检索具有最近日期的数据?

cocoa - 如何以编程方式为 mac 应用程序设置打印选项的页面布局

python - 双花括号{{

python - 使用托管服务身份(MSI)对虚拟机中的 python 应用程序进行身份验证

c# - RawPrinterHelper 不打印并且不引发错误?