On Tue, Oct 6, 2009 at 11:08 AM, Wayne <sri...@gmail.com> wrote:
> On Tue, Oct 6, 2009 at 9:58 AM, Dave Angel <da...@ieee.org> wrote:
>>
>> <snip>
>>
>> No, because you're not assured that all integers that are equal are the
>> same object.  Python optimizes that for small integers, but there's no
>> documented range that you can count on it.
>>
>
> But for this specific case - checking a return code against zero, should it
> still be considered unreliable?

Yes. It is undocumented, implementation-specific behaviour and you
should not depend on it without good reason. In this case, there is no
reason at all to prefer "if x is 0" to "if x == 0".

> The only case that you are looking for
> correctness is 0 == 0, any other case should evaluate as false, so I guess
> the question is does python always optimize for zero? Any other optimization
> is irrelevant, AFAIK.

Define "always". In all past and future versions of every
implementation of Python? Unlikely and unknowable. In all current
versions of CPython? Yes, AFAIK.

Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to