sách gpt4 ăn đã đi

具有具体 setter/getter 的python抽象属性 setter

In lại 作者:太空狗 更新时间:2023-10-30 00:24:07 26 4
mua khóa gpt4 giày nike

是否可以使用 abc.abstractproperty 创建一个具体的 getter 但将 setter 抽象为每个继承类的不同。我为每个子类处理不同的 val 设置。

例如。

@abstractproperty
def val(self):
return self._val

@val.setter
def val(self, x):
vượt qua

câu trả lời hay nhất

您将需要一点间接性。像往常一样定义 setter,但让它调用一个抽象方法来完成实际工作。然后每个子类都需要提供那个方法的定义。例如,

class Base(object):
__metaclass__ = abc.ABCMeta

định nghĩa __init__(bản thân):
self._val = 3

@tài sản
def val(self):
return self._val

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

@abc.abstractmethod
def _val_setter(self, x):
vượt qua


class Child(Base):

def _val_setter(self, x):
self._val = 2*x

Sau đó

>>> c = Child()
>>> print c.val
3
>>> c.val = 9
>>> print c.val
18

关于具有具体 setter/getter 的python抽象属性 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344209/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress