python子类通过super方法调用父类__init__方法给属性赋值,但是父类的__init__方法定义了一个私有属性,那么给子类也同样会定义一个私有化属性吗

如题,

class Father(object):
    def __init__(self, name, age):
        self.name = name
        self.__age = age


class Child(Father):
    def __init__(self, name, age):
        super().__init__(name, age)
    def printmsg(self):
        print(self.name, self.__age)    


child1 = Child("Bob", 13)
child1.printmsg()

这段代码报了这样一个错误

img

难道说在父类__init__方法中定义了私有化属性,但是子类没法直接调用父类的方法来创建私有化属性吗

是的,私有化属性不会被子类继承