2024-03-29 01:51:23 发布
网友
为什么这不管用?
lambda: print "x"
这不是一个单独的陈述,还是别的什么? 关于lambda中允许的内容,文档似乎有点少。。。
如果我使用这个来进行简单的截图,我会使用这个:
fn = lambda x: sys.stdout.write(str(x) + "\n")
很好用。
一个lambda的体必须是一个单一表达式。在Python 2.x中,print是一个语句。然而,在Python 3中,print是一个函数(而函数应用程序是一个表达式,因此它将在lambda中工作)。如果您使用的是最新的Python2.x,则可以(而且应该)使用后端口打印功能:
lambda
print
In [1324]: from __future__ import print_function In [1325]: f = lambda x: print(x) In [1326]: f("HI") HI
你写的相当于
def anon(): return print "x"
这也会导致语法错误,python不允许您在2.xx中为print赋值;在python3中,您可以说
lambda: print('hi')
因为他们把print改成了一个函数而不是一个语句。
如果我使用这个来进行简单的截图,我会使用这个:
很好用。
一个
lambda
的体必须是一个单一表达式。在Python 2.x中,print
是一个语句。然而,在Python 3中,print
是一个函数(而函数应用程序是一个表达式,因此它将在lambda中工作)。如果您使用的是最新的Python2.x,则可以(而且应该)使用后端口打印功能:你写的相当于
这也会导致语法错误,python不允许您在2.xx中为print赋值;在python3中,您可以说
因为他们把print改成了一个函数而不是一个语句。
相关问题 更多 >
编程相关推荐