我有一个班级Record
:
class Record(object):
def __init__(self, id=None, url=None, time= None, user=None, input_dict=None):
if input_dict:
self.from_dict(input_dict)
else:
self.id = id
self.url = url
self.time = time
self.user = user
def from_dict_internal(self, input_dict):
#creates a record using data from a dictionary
self.id = input_dict.get('id')
self.url = input_dict.get('url')
self.time = input_dict.get('time')
self.user = input_dict.get('user')
def from_dict(self, input_dict):
return self.from_dict_internal()
我想用一个额外的属性 - referrer创建一个派生类Page
。我不知道怎么去做,因为我试过这个:
class Page(Record):
def __init__(self):
Record.__init__(self)
self.referrer = referrer
def from_dict(self, input_dict):
self.from_dict_internal()
self.referrer = input_dict.get('referrer')
然而,Pycharm在页面构造函数中保留了referrer
的下划线,其中包含未解析引用的原因
答案 0 :(得分:0)
您收到错误,因为referrer
未在任何地方声明或传递到 init 方法。您还应该传入Record()
类使用的相同数据。
def __init__(self, id=None, url=None, time= None, user=None, input_dict=None, referrer=None):
Record.__init__(self, id, url, time, user, input_dict)
self.referrer = referrer
....