class parent:
def __init__(self):
self.a=2
self.b=4
def form1(self):
print("calling parent from1")
print('p',self.a+self.b)
class child1(parent):
def __init__(self):
self.a=50
self.b=4
def form1(self):
print('bye',self.a-self.b)
def callchildform1(self):
print("calling parent from child1")
super().form1()
class child2(parent):
def __init__(self):
self.a=3
self.b=4
def form1(self):
print('hi',self.a*self.b)
def callchildform1(self):
print("calling parent from child2")
super().form1()
class grandchild(child1,child2):
def __init__(self):
self.a=10
self.b=4
def callingparent(self):
super().form1()
g=grandchild()
g.callchildform1()
print(grandchild.__mro__)
Y2xhc3MgcGFyZW50OgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHNlbGYuYT0yCiAgICAgICAgc2VsZi5iPTQKICAgIGRlZiBmb3JtMShzZWxmKTogCiAgICAgICAgcHJpbnQoImNhbGxpbmcgcGFyZW50IGZyb20xIikKICAgICAgICBwcmludCgncCcsc2VsZi5hK3NlbGYuYikKIApjbGFzcyBjaGlsZDEocGFyZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLmE9NTAKICAgICAgICBzZWxmLmI9NAogICAgZGVmIGZvcm0xKHNlbGYpOgogICAgICAgIHByaW50KCdieWUnLHNlbGYuYS1zZWxmLmIpCiAgICBkZWYgY2FsbGNoaWxkZm9ybTEoc2VsZik6CiAgICAgICAgcHJpbnQoImNhbGxpbmcgcGFyZW50IGZyb20gY2hpbGQxIikKICAgICAgICBzdXBlcigpLmZvcm0xKCkKIApjbGFzcyBjaGlsZDIocGFyZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLmE9MwogICAgICAgIHNlbGYuYj00CiAgICBkZWYgZm9ybTEoc2VsZik6CiAgICAgICAgcHJpbnQoJ2hpJyxzZWxmLmEqc2VsZi5iKQogICAgZGVmIGNhbGxjaGlsZGZvcm0xKHNlbGYpOgogICAgICAgIHByaW50KCJjYWxsaW5nIHBhcmVudCBmcm9tIGNoaWxkMiIpCiAgICAgICAgc3VwZXIoKS5mb3JtMSgpCiAKY2xhc3MgZ3JhbmRjaGlsZChjaGlsZDEsY2hpbGQyKToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLmE9MTAKICAgICAgICBzZWxmLmI9NAogICAgZGVmIGNhbGxpbmdwYXJlbnQoc2VsZik6CiAgICAgICAgc3VwZXIoKS5mb3JtMSgpCiAKZz1ncmFuZGNoaWxkKCkKZy5jYWxsY2hpbGRmb3JtMSgpCnByaW50KGdyYW5kY2hpbGQuX19tcm9fXyk=