【发布时间】:2023-04-03 04:24:01
【问题描述】:
为什么:
p = lambda s: print(s)
语法无效,但是:
def do_print(s):
print(s)
p = lambda s: do_print(s)
有效吗?
【问题讨论】:
标签: python lambda functional-programming
为什么:
p = lambda s: print(s)
语法无效,但是:
def do_print(s):
print(s)
p = lambda s: do_print(s)
有效吗?
【问题讨论】:
标签: python lambda functional-programming
lambda 的主体必须是表达式,而不是语句。 print 是一个声明。
更新:正如所指出的,在 2.x 中,print 是一个语句,而在 Python 3 中,它是一个函数。
【讨论】:
print() 是一个函数。
您使用的是哪个版本的python?在 python 2.7(及之前)中,print 是一个 statement 而在 python 3 中它是一个 function
【讨论】:
from __future__ import print_function 来统一这个
print 是一个语句,因此不能出现在 lambda 表达式中,建议使用包装函数,例如您的示例中的解决方法
它的语言被阅读的方式它不能一步完成p = lambda s: print(s)
【讨论】: