python多重继承实例

1018次阅读  |  发布于5年以前

本文实例讲述了python多重继承用法,分享给大家供大家参考。具体实现方法如下:

1.mro.py文件如下:


    #!/usr/bin/python
    # Filename:mro.py

    class P1:
      def foo(self):
        print 'called P1-foo'

    class P2:
      def foo(self):
        print 'called P2-foo'

      def bar(self):
        print 'called P2-bar'

    class C1(P1, P2):
      pass

    class C2(P1, P2):
      def bar(self):
        print 'called C2-bar()'

    class GC(C1, C2):
      pass

2.执行结果如下:


    >>> from mro import *
    >>> gc = GC()
    >>> gc.foo()
    called P1-foo
    >>> gc.bar
    <bound method GC.bar of <mro.GC instance at 0xb77be2ac>>
    >>> gc.bar()
    called P2-bar
    >>>

3.结论:

方法解释顺序(MRO): 深度优先, 从左至右

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8