为什么输出结果一样?

class A(object):
    def __init__(self,a):
    print 'init A...'
    self.a = a
    print self.a
class B(A):
    def __init__(self,a):
    print 'init B...'
    super(B,self).__init__(a)
    print self.a
class C(A):
    def __init__(self,a):
    print 'init C...'
    super(C,self).__init__(a)
class D(B,C):
    def __init__(self,a):
    print 'init D...'
    super(D,self).__init__(a)
    print self.a
a = A('a')
b = B('b')

为什么实例化对象a输出的结果也是b???


慕盖茨3698359
浏览 1354回答 1
1回答

慕后端2583565

init A...ainit B...init A...bb这是我按照你的代码输出的结果,不知道跟你是不是一样,第一个b是因为传入的参数就是‘b’,就是super(B, self)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python