【发布时间】:2023-04-02 23:30:01
【问题描述】:
考虑下面的代码sn-p
class parent(object):
def __init__(self):
self.a = 0
class child(parent):
def __init__(self):
super(parent, self).__init__()
self.b = 9
def func(self):
print(self.a, self.b)
c = child()
print(c.b)
print(c.a)
我预期的输出是:
9 0
但错误消息指出“子”对象没有属性“a”。
如果我改为使用父母的 init 方法而不是 super,我会得到我想要的输出。
parent.__init__(self)
我看过其他帖子,super是实现继承的推荐方式。我的问题是如何使用super方法将init方法初始化的父类属性继承到子类中?
【问题讨论】:
-
请改进你的缩进
-
错字:把
super(parent, self).__init__()改成super(child, self).__init__()
标签: python class oop inheritance