ホームページ  >  記事  >  バックエンド開発  >  python多重继承实例

python多重继承实例

WBOY
WBOYオリジナル
2016-06-06 11:19:561228ブラウズ

本文实例讲述了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程序设计有所帮助。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。