我正在尝试研究如何从父类继承变量。
我有两个类(简化但原理相同):
class Database(object):
def __init__(self, post, *args, **kwargs):
self.post = post
self.report()
def report(self):
#... obtain variables from post ...
self.database_id = self.post['id']
#... save data to database
class PDF(Database):
def __init__(self, post, *args, **kwargs):
Database.__init__(self, post, *args, **kwargs)
#... if i try to access self.database_id now, it returns an error ...
print(self.database_id)
实例化脚本:
Database(request.POST)
PDF(request.POST)
我尝试过实例化CreatePDF,因为我认为Database.__init__(self, post, *args, **kwargs)
行是Database类,但这也不起作用。
我正在努力找到最蟒蛇的继承方式。我显然可以从传递给PDF()的post dict中获取self.database_id,但是如果我可以使用继承,我没有看到这样做两次的重点。
由于
答案 0 :(得分:-3)
使用:
class PDF(Database):
def __init__(self, post, *args, **kwargs):
# Stuff
super().__init__(post, *args, **kwargs)
实例化继承类的正确方法是调用super()。 init (args),在这种情况下调用Database。 init ,因为方法解析顺序