我有以下基类和子类:
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
类的实例,检查我知道基类中存在的字段 - 我希望它默认为 value None
。但是,我的代码引发了以下异常:
AttributeError:“TypeTwoEvent”对象没有属性“foobar”
我的印象是基类字段将由子类继承,并且创建子类的实例将实例化基类(并因此调用其构造函数)......
我在这里想念什么?为什么没有TypeTwoEvent
属性foobar
- 当派生它的基类有foobar
属性时?