No you can't override and
and or
. With the behavior that these have in Python (i.e. short-circuiting) they are more like control flow tools than operators and overriding them would be more like overriding if
than + or -.
You can influence the truth value of your objects (i.e. whether they evaluate as true or false) by overriding __nonzero__
(or __bool__
in Python 3).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…