In [26]:
class A(object):
def __init__(self):
pass
def zeroa(self):
print('a-zero')
return self
class B(object):
def __init__(self):
pass
def zero(self):
print('b-zero')
return self
def one(self):
print('b-one')
return self
def two(self):
print('c-two')
return self
class C(object):
def __init__(self):
pass
super()
def zero(self):
print('c-zero')
return self
def one(self):
print('c-one')
return self
def two(self):
print('d-two')
return self
In [29]:
class D(A, B, C):
def __init__(self):
pass
def two(self):
print('d-two')
d = D().zero()
In [31]:
D.__bases__
Out[31]:
In [32]:
class A:
def who_am_i(self):
print("I am a A")
class B(A):
def who_am_i(self):
print("I am a B")
class C(A):
def who_am_i(self):
print("I am a C")
class D(B,C):
def who_am_i(self):
print("I am a D")
d1 = D()
d1.who_am_i()
In [41]:
class A(object):
def say_hello(self):
print ('A says hello')
class B():
def say_hello(self):
super(B, self).say_hello()
print ('B says hello')
class C():
def say_hello(self):
super(C, self).say_hello()
print ('C says hello')
class D(A, B):
def say_hello(self):
super(D, self).say_hello()
print ('D says hello')
DD = D()
DD.say_hello()
In [42]:
class X():
def who_am_i(self):
print("I am a X")
class Y():
def who_am_i(self):
print("I am a Y")
class A(X, Y):
def who_am_i(self):
print("I am a A")
class B(Y, X):
def who_am_i(self):
print("I am a B")
class F (A, B):
def who_am_i(self):
print("I am a F")
In [ ]: