On Apr 19, 10:23 am, Grant Edwards <inva...@invalid.invalid> wrote: > On Tue, Apr 19, 2011 at 7:09 AM, Christian Heimes <li...@cheimes.de> wrote: > > Am 18.04.2011 21:58, schrieb John Nagle: > >> ?? ?? This is typical for languages which backed into a "bool" type, > >> rather than having one designed in. ??The usual result is a boolean > >> type with numerical semantics, like > > >> ??>>> True + True > >> 2 > > > I find the behavior rather useful. It allows multi-xor tests like: > > > if a + b + c + d != 1: > > ?? ??raise ValueError("Exactly one of a, b, c or d must be true.") > > I guess I never thought about it, but there isn't an 'xor' operator to > go along with 'or' and 'and'. Must not be something I need very often. >
You also can't evaluate xor without evaluating both operands, meaning there is never a short-circuit; both and and or can short-circuit, though. Also boolean xor is the same as !=. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list