在Python中,operator.truth
和bool
都可以将对象转换为布尔值。
有什么区别?我应该什么时候使用它们中的每一个?
> operator.truth()
的文档非常清楚:
这等效于使用
bool
构造函数。
所以没有区别。operator.truth
存在的唯一原因是模块完整。
当代码比bool
更方便时使用它;例如,当你的代码已经在各种operator
可调用对象之间动态切换时(例如,基于字符串映射(。
来自官方文档:
运算符.真相(obj(
如果 obj 为真,则返回 True,否则返回 False。这等效于使用 bool 构造函数。
因此,这两个操作是等效的。