玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容

新手求助关于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

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()

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/wenda/wd18408.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年06月20日 - 16时33分06秒 发布自玩蛇网

我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules