Наследование классов Python :AttributeError :& #39;[SubClass]& #39; объект не имеет атрибута & #39;xxx& #39;

У меня есть следующий базовый класс и подкласс:

class Event(object):
    def __init__(self, sr1=None, foobar=None):
        self.sr1 = sr1
        self.foobar = foobar
        self.state = STATE_NON_EVENT

# Event class wrappers to provide syntatic sugar
class TypeTwoEvent(Event):
    def __init__(self, level=None):
        self.sr1 = level
        self.state = STATE_EVENT_TWO

Далее в моем коде я проверяю экземпляр класса TypeTwoEvent, проверяя поле, которое, как я знаю, существует в я ожидал, что базовый класс -будет иметь значение по умолчанию None. Однако мой код вызывает следующее исключение:

AttributeError :Объект TypeTwoEvent не имеет атрибута 'foobar'

У меня сложилось впечатление, что поля базового класса будут унаследованы подклассом и что создание экземпляра подкласс создаст экземпляр базового класса (и, таким образом, вызовет его конструктор )...

Что я здесь упускаю? Почему TypeTwoEventне имеет атрибута foobar-, если базовый класс, из которого он получен, имеет атрибут foobar?

20
задан Guy Avraham 6 April 2019 в 15:58
поделиться