Python抽象基类和多重继承

时间:2020-02-01 10:06:18

标签: python multiple-inheritance numpy-ndarray abc

我正在尝试创建一个python(3.5)类结构,在其中我使用抽象方法来指示应实现的方法。预期的工作如下:

from abc import ABC, abstractmethod
class Base(ABC):
    @abstractmethod
    def foo(self):
        pass

class Derived(Base, object):
    # Inheriting from object probably is superfluous (?)
    pass

Derived()  # throws a TypeError

当我向Derived添加一个类时,它不再起作用。此处显示为tuple(在我的具体情况下,我想使用np.ndarray):

class Base(ABC):
    @abstractmethod
    def foo(self):
        pass

class Derived(Base, tuple):
    pass

Derived()  # does not throw an error

Python中的抽象基类是否不打算用于多重继承?当然,我可以添加老式的NotImplementedError,但是只有在调用该方法时才会引发错误。

0 个答案:

没有答案