【发布时间】:2018-06-07 15:29:03
【问题描述】:
我正在研究如何从父类继承变量。
我有两个类(简单但原理相同):
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 类,但这也不起作用。
我正在尝试找到最 Pythonic 的继承方式。我显然可以从传递给 PDF() 的 post dict 中获取 self.database_id,但是如果我可以使用继承,我看不出这样做两次的意义。
谢谢
【问题讨论】:
-
您发布的代码(一旦您解决了命名问题 - 'CreatePDF' vs 'PDF' - 以及
PDF.__init__中缺少的args和kwargs名称)不会“返回错误"(至少当它传递一个带有“id”键集的类似字典的对象时不会)。如果您希望得到有用的答案,请发布一个 REAL mcve 以及完整的错误消息和回溯 - 哦,是的,“request.POST”也是。请注意,您的设计还有一些其他明显的问题,但这是另一个问题。 -
CreatePDF是什么?