[Python-Dev] rich comparisions and old-style classes
Michael Foord
fuzzyman at voidspace.org.uk
Sun Apr 30 12:56:36 CEST 2006
Armin Rigo wrote:
> Hi Fredrik,
>
> On Sun, Apr 30, 2006 at 08:13:40AM +0200, Fredrik Lundh wrote:
>
>> trying to come up with a more concise description of the rich
>> comparision machinery for pyref.infogami.com,
>>
>
> That's quite optimistic. It's a known dark area.
>
>
>> I stumbled upon an oddity that I cannot really explain:
>>
>
> I'm afraid the only way to understand this is to step through the C
> code. I'm sure there is a reason along the lines of "well, we tried
> this and that, now let's try this slightly different thing which might
> or might not result in the same methods being called again".
>
> I notice that you didn't try comparing an old-style instance with a
> new-style one :-)
>
> More pragmatically I'd suggest that you only describe the new-style
> behavior. Old-style classes have two levels of dispatching starting
> from the introduction of new-style classes in 2.2 and I'm sure that no
> docs apart from deep technical references should have to worry about
> that.
>
>
I thought a good rule of thumb (especially for a tutorial) was :
Either define ``__cmp__`` *or*
define the rich comparison operators.
Doing both is a recipe for confusion.
Michael Foord
> A bientot,
>
> Armin.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>
>
More information about the Python-Dev
mailing list