23.09.20 03:05, Greg Ewing пише:
> On 23/09/20 12:20 am, Steven D'Aprano wrote:
>> Presumably back when rich comparisons were added, the choice would have
>> been:
>>
>> - add one tp_richcompare slot to support all six methods; or
>>
>> - add six slots, one for each individual dunder
>>
>> in which case the first option wastes much less space.
> 
> I don't know the exact reasons, but it might also have been
> because the implementations of the six dunders are usually
> very closely related, so having just one function to implement
> at the C level is a lot easier for most types.
> 
> Also remember that before tp_richcompare existed there was
> only tp_compare, which also handled all the comparisons, so
> tp_richcompare was likely seen as a generalisation of that.

And before dunders __eq__, __lt__, etc there was a single dunder __cmp__.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WYF3DROV3X7TRVUSJAIIHCTFHPO5F7RB/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to