VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python类中super()和__init__()的区别(4)

Base的__init__()方法被执行了两次

1
2
3
4
enter A 
Base create
leave A
Base create

 

使用super()是可避免重复调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Base(object):
    def __init__(self):
        print 'Base create'
class childA(Base):
    def __init__(self):
        print 'enter A '
        super(childA, self).__init__()
        print 'leave A'
class childB(childA, Base):
    def __init__(self):
        super(childB, self).__init__()
= childB()
print b.__class__.mro()
enter A 
Base create
leave A
[, , , ]


相关教程