easy question on parsing python: "is not None"
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Sat Aug 7 03:44:19 EDT 2010
En Sat, 07 Aug 2010 04:04:06 -0300, Stefan Schwarzer
<sschwarzer at sschwarzer.net> escribió:
> On 2010-08-07 00:28, Steven D'Aprano wrote:
>> Actually, yes, equality is implemented with a short-cut
that checks for
>> identity first. That makes something like:
>> [...]
>
> Oops, I didn't realize that the OP had mentioned the
> identity check as an optimization in case the objects are
> the same. I thought he was confusing the operator with `is`.
>
>> s = "abc"*1000*1000*10
>> s == s
>>
>> nice and quick, as Python can immediately recognise that a string is
>> always equal to itself without having to walk the entire string
>> comparing
>> each character with itself.
>
> Yes, that definitely makes sense. I guess I would have
> implemented it this way as well. :)
For strings and other internal types this optimization certainly makes
sense. For user-defined types it gets in the way and prevents defining an
object such x==x is False (like NANs).
--
Gabriel Genellina
More information about the Python-list
mailing list