Python 运算符.truth和bool之间的差异

Python 运算符.truth和bool之间的差异,python,python-3.x,Python,Python 3.x,在Python中,operator.truth和bool都可以将对象转换为布尔值 有什么区别?我应该在什么时候使用它们?问题很清楚: 这相当于使用bool构造函数 所以没有区别。operator.truth存在的唯一原因是模块要完整 当代码比bool更方便时使用它;例如,当您的代码已经在各种运算符可调用项之间动态切换时,例如,基于字符串映射 来自: 操作符truthobj 如果obj为True,则返回True,否则返回False。这相当于使用bool构造函数 所以这两种操作都是等价的。在偶数天,

在Python中,operator.truth和bool都可以将对象转换为布尔值

有什么区别?我应该在什么时候使用它们?

问题很清楚:

这相当于使用bool构造函数

所以没有区别。operator.truth存在的唯一原因是模块要完整

当代码比bool更方便时使用它;例如,当您的代码已经在各种运算符可调用项之间动态切换时,例如,基于字符串映射

来自:

操作符truthobj

如果obj为True,则返回True,否则返回False。这相当于使用bool构造函数


所以这两种操作都是等价的。

在偶数天,一个是奇数天,另一个是奇数天。据我所知,这无关紧要。虽然它不使用它。所以就选一个吧。@johnrsharpe:这是纯Python的后盾。C实现使用了bool类型用于将参数转换为布尔值的函数。在这个问题中,基于观点的材料很少,所以我重新打开了它。若人们对我应该在什么时候使用每一部分提出异议,请随意改写。