我尝试从抽象类
Class2
创建一个抽象类Class1
如下
from abc import ABC
class Class1(ABC):
def __init__(self, x: int) -> None:
self.val1 = x
class Class2(Class1):
def __init__(self, y: int) -> None:
self.val2 = y
当我实例化Class2并获取它的属性时,得到如下结果
b = Class2(5)
b.val2
# 2
b.val1
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# AttributeError: 'Class2' object has no attribute 'val1'. Did you mean: 'val2'?
我的问题是:
Class2
是一个抽象类,而不是一个具体的子类?有没有办法确保它是一个抽象类?有了Class1
我肯定知道由于参数ABC
(如class Class1(ABC)
)而Class2
没有那个参数ABC
.Class2
没有继承val1
的属性Class1
?Class2
派生的Class1
怎么可能从其父val2
具有不同/附加属性Class1
?