次の基本クラスとサブクラスがあります。
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