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