James Stroud wrote: > I'm curious, in > > py> 0 | (1 == 1) > 1 > py> False | (1 == 1) > True > > What is the logic of the former expression not evaluating to True (or > why the latter not 1?)? Is there some logic that necessitates the first > operand's dictating the result of the evaluation? Or is this an artefact > of the CPython implementation?
looks like you're confusing binary or ("|") with logical or ("or"). binary or on booleans are only defined for boolean | boolean; for any other combination, the usual coercion rules apply. </F> -- http://mail.python.org/mailman/listinfo/python-list