使用抽象基类来指定强制输入和返回类型的接口

时间:2018-03-21 11:11:19

标签: python abstract-class

我想编写一个抽象基类,该基类应强制其派生类实现一个具有特定参数和特定返回的方法。

但是,由于在Python中既没有在方法的签名中指定返回类型也没有指定参数类型,我如何强制执行这样的接口?

例如:

class BaseClass(ABC):

    @abstractmethod
    def __call__(self, image, labels=None):
        pass

我希望派生类必须实现__call__()方法,以便它接受3D Numpy数组(image)作为参数,并且可选地接受2D Numpy数组(labels) ,它返回一个3D Numpy数组(转换后的图像),再一次可选地返回一个2D Numpy数组(转换后的标签)。

例如,如何强制执行派生类中的__call__()方法必须完全返回(3D Numpy数组,以及可选的2D Numpy数组)?

0 个答案:

没有答案