【发布时间】:2010-10-27 05:13:33
【问题描述】:
我知道要更改 python 中运算符的默认行为,您可以覆盖一些默认方法,例如 __add__ 或 __sub__ 用于 + 和 -,但没有找到任何可以覆盖 and 和or 关键字,而有一些用于位运算符&,|:分别为__and__ 和__or__。
你知道这些关键字是否也有钩子吗?我知道覆盖and 和or 的默认行为很奇怪,但我需要它在运行时从python 公式开始构造一个抽象语法树,我真的不想以一种奇怪的方式改变它的语义。
如果没有,我想修改语言本身以获得这种支持。如果有一些好的专家可以建议我正确的方法,请举手,否则我想我会问 Guido :)
非常感谢各位!
【问题讨论】: