[Python-ideas] divmod(): fallback to __floordiv__ and __mod__?

Ethan Furman ethan at stoneleaf.us
Sat Sep 17 19:35:38 EDT 2016


On 09/17/2016 03:14 PM, Chris Angelico wrote:
> On Sun, Sep 18, 2016 at 8:06 AM, Ethan Furman wrote:

>> Just like Python will use the defined __ne__ if
>> it's present, or fall back to negating the result of __eq__ if __ne__ is
>> not present, I see __divmod__ working the same way:
>>
>> - is __mod__ present? use it
>> - is __floordiv__ present? use it
>> - otherwise, use __divmod__ and return the needed piece
>>
>> I'm pretty sure __div__ should not fall back to __divmod__.
>
> How does __mod__ fall back to __floordiv__? I'm lost.

Oops, sorry.  Got my directions reversed when thinking about how __div__ should fit in.

Bird's eye view: if the exact method needed is present, use it; otherwise if a fallback method is available, use that.

Currently this is done for __ne__ --> not __eq__, and I seem to remember another case or two that was talked about but I don't remember what they were and I'm not sure if they got implemented to follow the fallback pattern.

--
~Ethan~


More information about the Python-ideas mailing list