Why the following code gives inconsistent method resolution order
error:

class X(object):
        x = 4
        def f(self):
                print 'f in X'
                print dir(X)
                X.g(self)
        def g(self):
                print 'g in X'

class Y(object, X):
        def g(self):
                print 'g in Y'

o = Y()
o.f()

While this code doesn't:

class X(object):
        x = 4
        def f(self):
                print 'f in X'
                print dir(X)
                X.g(self)
        def g(self):
                print 'g in X'

class Y(X, object):
        def g(self):
                print 'g in Y'

o = Y()
o.f()
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to