[Python-Dev] One-line abstractmethod function?

Guido van Rossum guido at python.org
Fri Dec 6 04:07:09 CET 2013


On Thu, Dec 5, 2013 at 6:31 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
>> On Thu, Dec 05, 2013 at 01:33:00PM -0800, Guido van Rossum wrote:
>>> Actually if you want to support multiple inheritance of your ABC, your
>>> abstract methods *must* be no-ops (or have some kind of default
>>> behavior that can always be done last).

> Done last or first really depends on what the default behavior is, doesn't
> it?  Using __new__ as an example, the chain of calls for that has the most
> ancestorish (yeah, I just made that word up ;) method doing the work first,
> with each less-ancestorish method building on to that as the call chain
> unwinds.

If you count which call *starts* first, the base class is always
called later than the subclass (even if it finishes earlier :-).

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list