首页 > 解决方案 > lambda 函数的布尔值可以为 false 吗?

问题描述

当给bool 函数时,lambda 函数是否有可能返回False值?

例如,这个 lambda 函数产生True

bool(lambda x:[])
True

标签: pythonpython-3.x

解决方案


不,你不能用纯粹的lambda表达来做到这一点。

lambda x:[]

是类型

<class 'function'>

正如文档所说,没有那种类型的东西会被证明是虚假的 ——所以它会是真实的;即传递给bool将返回True

如果您想要一个计算结果为的函数(可调用),False我将完全按照khelwood 的回答中描述的方式进行操作。


推荐阅读