0

我有一个像这样的抽象类:

class SomeAbstract(object):
    __metaclass__ = ABCMeta

    @abstractproperty
    def one(self): pass

    @abstractproperty
    def two(self): pass

    @abstractproperty
    def three(self): pass

    ...

    @abstractmethod
    def somemethod(self): pass

    ...

有没有办法将抽象类的所有属性和方法指定为抽象,而不必在所有这些属性和方法上都放置装饰器?

4

1 回答 1

1

您可以编写一个继承自它的新元类,ABCMeta使所有方法和属性自动抽象,然后在您的类中使用该元类。不过,您需要小心地采取某种方法来防止行为传播到从抽象基类继承的类。

于 2013-05-24T18:19:08.193 回答