首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python中调用父类的同名步骤

2012-10-20 
Python中调用父类的同名方法Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的t

Python中调用父类的同名方法

Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递。

举一个很常见的例子:

class A:    def __init__(self):        print("Enter A")        print("Leave A")class B(A):    def __init__(self):        print("Enter B")        super(B, self).__init__()        print("Leave B")class C(A):    def __init__(self):        print("Enter C")        super(C, self).__init__()        print("Leave C")class D(A):    def __init__(self):        print("Enter D")        super(D, self).__init__()        print("Leave D")class E(B, C, D):    def __init__(self):        print("Enter E")        super(E, self).__init__()        print("Leave E")E()

?

结果:

Enter E
Enter B
Enter C
Enter D
Enter A
Leave A
Leave D
Leave C
Leave B
Leave E

在super机制里可以保证公共父类仅被执行一次,至于执行的顺序,是按照mro进行的(E.__mro__)。

?

转自:http://hi.baidu.com/thinkinginlamp/blog/item/8905564e1f771c0eb3de05ec.html

热点排行