Python类继承

时间:2012-12-24 00:54:52

标签: python

  

可能重复:
  subclass __init__ overrides superclass’s

class A():
    z = 'z it is'
    def __init__(self):
        self.a = 'a it is'

class B(A):
    def __init__(self):
        self.b = 'b it is'

b = B()
print b.z # z it is 
print b.a # AttributeError: B instance has no attribute 'a'

bB类的实例,它继承自A类。这是否意味着我可以访问父类的属性?

2 个答案:

答案 0 :(得分:5)

您需要显式调用超类__init__。它不会自动调用。

答案 1 :(得分:0)

B类中的__init__函数应该这样写:

class B(A):
    def __init__(self):
        A.__init__(self)
        self.b = "b it is"