Python添加参数/属性do派生类'constru

2024-04-19 11:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类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()

我想创建一个派生类Page,其中有一个额外的属性-referer。我不知道该怎么办,因为我试过:

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一直在page的构造函数中给referrer加下划线,原因是引用未解析


Tags: fromselfnoneidurlinputgettime
1条回答
网友
1楼 · 发布于 2024-04-19 11:21:26

出现错误是因为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
    ....

相关问题 更多 >