Boolean confusion
John Roth
newsgroups at jhrothjr.com
Fri Oct 31 14:19:26 EST 2003
"Frantisek Fuka" <fuka at fuxoft.cz> wrote in message
news:bnua52$tnv$1 at ns.felk.cvut.cz...
> Can anyone please explain why these two give different results in Python
> 2.3?
>
> >>> 'a' in 'abc' == 1
> False
> >>> ('a' in 'abc') == 1
> True
>
> I know it's not a good idea to compare boolean with Integer but that's
> not the answer to my question.
According to the operator precedence table given in the
Python Reference Manual, section 5.14 (2.2.3 version)
the "==" operator has higher precidence (that is, it will
be evaluated first) than the "in" operator. The table is,
unfortunately, upside down from my perspective, but
a close examination of the explanation shows what is
happening.
In other words, your first expression is equivalent
to:
"a" in ("abc" == 1)
John Roth
>
> --
> Frantisek Fuka
> (yes, that IS my real name)
> (and it's pronounced "Fran-tjee-shek Foo-kah")
> ----------------------------------------------------
> My E-mail: fuka at fuxoft.cz
> My Homepage: http://www.fuxoft.cz
> My ICQ: 2745855
>
More information about the Python-list
mailing list