为什么直接调用 bool() ?
Why call bool() directly?
我读到,当 python 计算条件时,if x:
之类的内容将被翻译为 if bool(x):
。那为什么我看到很多直接调用bool()
的代码呢?这主要是为了可读性还是有其他一些好处?
if bool(x):
中的 bool()
完全多余。 if
将做完全相同的事情 已经 。
如果您看到执行此操作的代码(在已经进行真值测试的上下文中使用 bool()
,例如 if
或 while
语句),那么没有任何优势。在这种情况下 truth value of the object is tested,您不需要先将其转换为布尔值,这只会造成双重工作。
仅在需要显式转换为布尔对象时才使用bool()
;例如,当将结果存储在变量中或将其传递给需要布尔值的函数时,或者好像您的函数被记录为返回布尔值。
我读到,当 python 计算条件时,if x:
之类的内容将被翻译为 if bool(x):
。那为什么我看到很多直接调用bool()
的代码呢?这主要是为了可读性还是有其他一些好处?
if bool(x):
中的 bool()
完全多余。 if
将做完全相同的事情 已经 。
如果您看到执行此操作的代码(在已经进行真值测试的上下文中使用 bool()
,例如 if
或 while
语句),那么没有任何优势。在这种情况下 truth value of the object is tested,您不需要先将其转换为布尔值,这只会造成双重工作。
仅在需要显式转换为布尔对象时才使用bool()
;例如,当将结果存储在变量中或将其传递给需要布尔值的函数时,或者好像您的函数被记录为返回布尔值。