我读过,当 python 评估条件时,类似的东西if x:
会被翻译成if bool(x):
. 那为什么我会看到很多bool()
直接调用的代码呢?这主要是为了可读性还是有其他优势?
问问题
110 次
1 回答
7
bool()
in完全if bool(x):
是多余的。if
已经会做同样的事情了。
如果您看到执行此操作的代码(bool()
在已经进行真值测试的上下文中使用,例如if
orwhile
语句),则没有任何优势。在这种情况下,对象的真值是经过测试的,您不需要先将其转换为布尔值,这只会产生双重工作。
bool()
仅在需要显式转换为布尔对象时使用;例如,将结果存储在变量中或将其传递给需要具有布尔值的函数时,或者好像您的函数被记录为返回布尔值。
于 2015-10-08T17:36:10.627 回答