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