As others have said, it's not a matter of precendence. Using the compiler module
you can see how python actually parses this:

3 > (0 is True)
Compare(Const(3), [('>', Compare(Const(0), [('is', Name('True'))]))])

No great surprise there.

3 > 0 is True
Compare(Const(3), [('>', Const(0)), ('is', Name('True'))])

As you can see, it's not the same. Two comparisons are being done "at once", not
one comparison on the result of another.

Hope this helps



On 15/09/10 13:34, Yingjie Lan wrote:
Hi,

I am not sure how to interprete this, in the interactive mode:

3>0 is True
False
(3>0) is True
True
3>  (0 is True)
True

Why did I get the first 'False'? I'm a little confused.

Thanks in advance for anybody who shed some light on this.

YL





--
Jon Siddle, CoreFiling Limited
Software Tools Developer
http://www.corefiling.com
Phone: +44-1865-203192

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to