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

python super 施用

2013-08-01 
pythonsuper 使用class A(object):? def __init__(self):? ? ? ?print enter A? ? ? ?super(A, self).__

python super 使用

class A(object):

? def __init__(self):

? ? ? ?print "enter A"

? ? ? ?super(A, self).__init__() ?# new

? ? ? ?print "leave A"

?

class B(object):

? ?def __init__(self):

? ? ? ?print "enter B"

? ? ? ?super(B, self).__init__() ?# new

? ? ? ?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):

? ?def __init__(self):

? ? ? ?print "enter E"

? ? ? ?super(E, self).__init__() ?# change

? ? ? ?print "leave E"

?

class F(E, D):

? ?def __init__(self):

? ? ? ?print "enter F"

? ? ? ?super(F, self).__init__() ?# change

? ? ? ?print "leave F"

?

?

f = F()

?

?

输出:

enter F

enter E

enter B

enter C

enter D

enter A

leave A

leave D

leave C

leave B

leave E

leave F

?

?

?

?

查看类F的继承顺序

>>> F.__mro__

(<class '__main__.F'>,

?<class '__main__.E'>,

?<class '__main__.B'>,

?<class '__main__.C'>,

?<class '__main__.D'>,

?<class '__main__.A'>,

?<type 'object'>)

?

热点排行