【发布时间】:2019-10-13 17:10:57
【问题描述】:
我有这个抽象类
class Kuku(ABC):
def __init__(self):
self.a = 4
@property
@abstractmethod
def kaka(self):
pass
kaka 是一个抽象属性,所以我希望 python 强制它成为继承者中的一个属性,但它允许我创建:
class KukuChild(Kuku):
def kaka(self):
return 3
并且 KukuChild().kaka() 返回 3 ,就好像它不是属性一样。这是故意的吗? Pycharm 也不强制执行此操作,为什么还要在抽象类中添加 property 装饰器?
【问题讨论】:
标签: python-3.x class oop properties abc