當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。