Python multiple inheritance name clashes [closed]

2019-10-04 19:09发布

问题:

I have a question about name clashes in python. If I have something like:

class A: a='a'
class B(A): a='b'
class C(A): a='c'
class D(C,B): pass

D.a will print c, is there any way to retrieve B.a from D or A.a?

回答1:

Yes, you can do exactly what you suggest:

class D(C, B):
    a = A.a