Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,940 questions

51,877 answers

573 users

How to use multiple inheritance and method resolution order (MRO) in Python

5 Answers

0 votes
class A:
    def m(self):
        print("class A: m(self)")
 
 
class B(A):
    def m(self):
        print("class B(A): m(self)")
 
 
class C(A):
    def m(self):
        print("class C(A): m(self)")
 
 
class D(B, C):
    def m(self):
        print("class D(B, C): m(self)")


do = D()
B.m(do)

 
'''
run:
 
class B(A): m(self)
 
'''

 



answered Feb 12, 2018 by avibootz
0 votes
class A:
    def m(self):
        print("class A: m(self)")
 
 
class B(A):
    def m(self):
        print("class B(A): m(self)")
 
 
class C(A):
    def m(self):
        print("class C(A): m(self)")
 
 
class D(B, C):
    def m(self):
        print("class D(B, C): m(self)")

do = D()
C.m(do)

 
'''
run:
 
class C(A): m(self)
 
'''

 



answered Feb 12, 2018 by avibootz
0 votes
class A:
    def m(self):
        print("class A: m(self)")
 
 
class B(A):
    def m(self):
        print("class B(A): m(self)")
 
 
class C(A):
    def m(self):
        print("class C(A): m(self)")
 
 
class D(B, C):
    def m(self):
        print("class D(B, C): m(self)")

do = D()
A.m(do)

 
'''
run:
 
class A: m(self)
 
'''

 



answered Feb 12, 2018 by avibootz
0 votes
class A:
    def m(self):
        print("class A: m(self)")
 
 
class B(A):
    def m(self):
        print("class B(A): m(self)")
 
 
class C(A):
    def m(self):
        print("class C(A): m(self)")
 
 
class D(B, C):
    def m(self):
        print("class D(B, C): m(self)")
        A.m(self)
        B.m(self)
        C.m(self)

do = D()
do.m()

 
'''
run:
 
class D(B, C): m(self)
class A: m(self)
class B(A): m(self)
class C(A): m(self)
 
'''

 



answered Feb 12, 2018 by avibootz
0 votes
class A:
    def m(self):
        print("class A: m(self)")
 
 
class B(A):
    def m(self):
        print("class B(A): m(self)")
        A.m(self)
 
 
class C(A):
    def m(self):
        print("class C(A): m(self)")
        A.m(self)
 
 
class D(B, C):
    def m(self):
        print("class D(B, C): m(self)")
        B.m(self)
        C.m(self)

do = D()
do.m()

 
'''
run:
 
class D(B, C): m(self)
class B(A): m(self)
class A: m(self)
class C(A): m(self)
class A: m(self)
 
'''

 



answered Feb 12, 2018 by avibootz

Related questions

1 answer 196 views
6 answers 496 views
1 answer 221 views
1 answer 150 views
1 answer 150 views
...