Python 继承,明明没有问题啊

img

用的python 4.7一直报错,怎么回事,新手入门,问题他说b没有属性num

类A的构造函数并没有被重写,所以num属性并没有被初始化; 修改的话类A的 “def _init_” 改为 “def __init__”

构造函数,前后要有两个下划线,一看你就是从教科书上抄的代码,分不清一个两个

class a(object):
    def __init__(self):
        self.num = 1
    def info(self):
        print(self.num)
class b(a):
    pass
result = b()
result.info()

再多继承问题下可以用super函数,用法也是很简单

class a(object):
    def __init__(self):
        self.num = 1
    def info(self):
        print(self.num)
class b(a):
    def __init__(self):
        super().__init__()
        super(b, self).info()
result = b()