为什么直接调用bool()?

时间:2015-10-08 17:33:23

标签: python boolean truthiness

我已经读过,当python评估一个条件时,像if x:这样的东西会被翻译成if bool(x):。为什么我会看到很多直接调用bool()的代码?这主要是为了可读性还是有其他优势?

1 个答案:

答案 0 :(得分:7)

bool()中的if bool(x): 完全冗余if将执行完全相同的操作已经

如果您看到执行此操作的代码(在已经进行真值测试的上下文中使用bool(),例如ifwhile语句),那么<没有任何优势。在truth value of the object is tested这样的上下文中,您不需要先将其转换为布尔值,只需创建双重工作。

仅在需要显式转换为布尔对象时才使用bool();例如,当将结果存储在变量中或将其传递给需要具有布尔值的函数时,或者将函数记录为返回布尔值时。