【发布时间】:2015-08-31 12:39:44
【问题描述】:
我的印象是在 Python 中可以重载 and,但是通过刚才阅读的文档,我意识到 __and__ 指的是按位的 & 运算符,而不是逻辑上的 and。
我是否忽略了某些东西,或者无法在 Python 中重载逻辑 and?
【问题讨论】:
-
我很好奇:你想让一个重载的
and做什么?还是您只是出于纯粹的理论原因? -
纯理论。我正在写一些需要使用 Python AST 的东西。对于像
Add这样的大多数事情,我将其替换为对__add__的调用,但令我惊讶的是我找不到一个函数来替换AST 中的And节点。 -
我看不出你为什么要为与评估
__bool__的行为不匹配的逻辑运算符引入自定义行为的充分理由。
标签: python operator-overloading logical-operators