Dziedziczenie klas Pythona: AttributeError: Obiekt „[SubClass]” nie ma atrybutu „xxx”

Mam następującą klasę podstawową i podklasę:

<code>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
</code>

Dalej w moim kodzie sprawdzam instancję klasy TypeTwoEvent, sprawdzając, czy wiem, że pole istnieje w klasie bazowej - oczekiwałem, że będzie domyślnie wartość None. Jednak mój kod wywołuje następujący wyjątek:

AttributeError: Obiekt „TypeTwoEvent” nie ma atrybutu „foobar”

Miałem wrażenie, że pola klasy bazowej będą dziedziczone przez podklasę, a utworzenie instancji klasy podrzędnej spowoduje utworzenie instancji klasy bazowej (a tym samym wywołanie jej konstruktora) ...

Czego tu brakuje? DlaczegoTypeTwoEvent nie mamfoobar atrybut - gdy klasa bazowa, z której pochodzi, mafoobar atrybut?

questionAnswers(5)

yourAnswerToTheQuestion