Tor Erik Soenvisen <[EMAIL PROTECTED]> wrote:
>
>(len(['']) is 1) == (len(['']) == 1) => True
>
>Is this the case for all numbers? I've tried running the following:
>
>for i in range(10000):
>       for j in range(10000):
>               if i != j:
>                       assert id(i) != id(j), 'i=%d, j=%d, id=%d' % (i, j, id
>(i))
>
>which executes fine. Hence, 0-9999 is okey... But this is a relatively 
>small range, and sooner or later you probably get two numbers with the same 
>id... Thoughts anyone?

It has been my experience that virtually every use of the "is" operator
(except "is None") is wrong.

Now, I fully understand that there are perfectly valid uses for "is", and
the standard library contains a few, but for the non-guru casual Python
programmer, I think it is safe to say "never use 'is'".
-- 
Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to