当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python abc.abstractproperty用法及代码示例


用法:

@abc.abstractproperty

自 3.3 版起已弃用:现在可以使用property,property.getter(),property.setter()property.deleter()abc.abstractmethod,使这个装饰器变得多余。

内置 property() 的子类,表示抽象属性。

这种特殊情况已被弃用,因为 property() 装饰器现在在应用于抽象方法时被正确识别为抽象:

class C(ABC):
    @property
    @abstractmethod
    def my_abstract_property(self):
        ...

上面的例子定义了一个只读属性;您还可以通过将一个或多个底层方法适当地标记为抽象来定义读写抽象属性:

class C(ABC):
    @property
    def x(self):
        ...

    @x.setter
    @abstractmethod
    def x(self, val):
        ...

如果只有一些组件是抽象的,则只需更新这些组件即可在子类中创建具体属性:

class D(C):
    @C.x.setter
    def x(self, val):
        ...

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 abc.abstractproperty。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。