【发布时间】:2015-03-08 14:18:09
【问题描述】:
有很多与 lambda 和打印相关的问题,但我找不到关于这个确切问题的任何信息。
我想在打印语句中打印我的 lambda 函数的结果。但是,我得到了错误的输出。我正在使用 Python 3
from __future__ import print_function
file_name = "tester"
target = "blue"
prediction = "red"
print(file_name,target,prediction, str(lambda x: print('+') if target==prediction else print('-')))
这会返回:
tester blue red <function <lambda> at 0x10918c2f0>
如何得到 lambda 函数的实际结果?
【问题讨论】:
-
不需要 lambda,只需
print(file_name,target,prediction,'+' if target == prediction else '-') -
拥有 lambda 有什么意义?为什么直接使用 inline if 呢?
-
如果你使用的是python 3.x,那你为什么要
from __future__ import print_function?
标签: python python-3.x lambda