为什么直接调用 bool() ?

Why call bool() directly?

我读到,当 python 计算条件时,if x: 之类的内容将被翻译为 if bool(x):。那为什么我看到很多直接调用bool()的代码呢?这主要是为了可读性还是有其他一些好处?

if bool(x): 中的 bool() 完全多余if 将做完全相同的事情 已经

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

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