On 8/9/2010 7:41 AM, saeed.gnu wrote:
"x is y"          means   "id(y) == id(y)"
"x is not y"      means   "id(x) != id(x)"
"x is not None"   means   "id(x) != id(None)"

"x is not None"  is a really silly statement!!

Wrong. It is exactly right when that is what one means and is the STANDARD IDIOM.

> because id(None) and id
of any constant object is not predictable!

This is silly. The id of None and of any other object are predictably different.

> I don't know whay people  use "is" instead of "==".

Because it is the right thing to do!

you should write "if x!=None" instead of "x  is not None"

Wrong. It is trivial to make a class whose objects compare == to None.

--
Terry Jan Reedy

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

Reply via email to