Interesting behaviour of the assignment
Alex Martelli
aleaxit at yahoo.com
Fri Dec 29 18:45:41 EST 2000
"Michael Esveldt" <dante at oz.net> wrote in message
news:92j4n1$mhu$0 at 216.39.162.232...
> [Thomas Wouters]
> > In other words, 'x == y' first does 'x is y', and if it's true, the
> > result
> > of the operation is true. Only if 'x is y' is false will it start the
> > (possibly very expensive) comparison-by-contents operation.
>
> This is a somewhat ignorant question, but if 'x == y' checks for 'x is
> y' first, why use 'is' at all? If you only get a tiny bit of speed out
> of using 'is' is it worth it to have this in the language at all? (Not
> that it would ever change, just curious.)
Moshe gave an example: *defeating* polymorphism attempts on
the part of object implementers, based on their implementing
__cmp__. Why one would actively work to impede polymorphism,
I don't know, but it sure can work that way.
Alex
More information about the Python-list
mailing list