关于python的多重继承问题

比如C同时继承A和B:

class A(object):

def fn(self):

print('run A')

class B(object):

def fn(self):

print('run B')

class C(A,B):

pass

其中A和B都有fn这个方法,这个时候如果通过C类来调用fn函数:

s=C()

s.fn()

个人测试了一下,默认会调用A类中的fn方法。但是如果我想调用B函数中的fn方法呢?这个时候应该怎么调用?

回答:

搜关键词Python MRO c3

python.org/download/releases/2.3/mro/">https://www.python.org/download/releases/2.3/mro/

图片描述

回答:

你描述的这种情况,class C中的fn函数是不是可能被重载了??

可以试试这种方式绕一下:

class A(object):

def fn(self):

print "call A fn"

class B(object):

def fn(sefl):

print "call B fn"

class C(A, B):

def fn(self):

B().fn()

c = C()

c.fn()

以上是 关于python的多重继承问题 的全部内容, 来源链接: utcz.com/a/163221.html

回到顶部