|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 13572044595 于 2018-12-11 15:40 编辑
代码如下:
- class A():
- def __init__(self):
- print("进入A…")
- print("离开A…")
- class B(A):
- def __init__(self):
- print("进入B…")
- A.__init__(self)
- print("离开B…")
-
- class C(A):
- def __init__(self):
- print("进入C…")
- A.__init__(self)
- print("离开C…")
- class D(B, C):
- def __init__(self):
- print("进入D…")
- B.__init__(self)
- C.__init__(self)
- print("离开D…")
复制代码
我输入 D()
运行结果:
- 进入D…
- 进入B…
- 进入A…
- 离开A…
- 离开B…
- 进入C…
- 进入A…
- 离开A…
- 离开C…
- 离开D…
- <__main__.D object at 0x000001924AFB9C18>
复制代码
--------------------------------------------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------------------------------
如果代码里面末尾有 D():
- class A():
- def __init__(self):
- print("进入A…")
- print("离开A…")
- class B(A):
- def __init__(self):
- print("进入B…")
- A.__init__(self)
- print("离开B…")
-
- class C(A):
- def __init__(self):
- print("进入C…")
- A.__init__(self)
- print("离开C…")
- class D(B, C):
- def __init__(self):
- print("进入D…")
- B.__init__(self)
- C.__init__(self)
- print("离开D…")
- D()
复制代码
运行结果:
- 进入D…
- 进入B…
- 进入A…
- 离开A…
- 离开B…
- 进入C…
- 进入A…
- 离开A…
- 离开C…
- 离开D…
复制代码
希望鱼油能告诉我为什么会这样?
<__main__.D object at 0x000001924AFB9C18> 这一行结果,什么意思?
那是编译器反馈你的信息。
参考:
https://blog.csdn.net/dreamhua927/article/details/52461816
便于你理解,可以IDLE,和代码文件各测试以下代码。看看有什么不同
- class A:
- def __init__(self):
- print("进入A…")
- print("离开A…")
- class B(A):
- def __init__(self):
- print("进入B…")
- A.__init__(self)
- print("离开B…")
-
- class C(A):
- def __init__(self):
- print("进入C…")
- A.__init__(self)
- print("离开C…")
- class D(B, C):
- def __init__(self):
- print("进入D…")
- B.__init__(self)
- C.__init__(self)
- print("离开D…")
- d = D()
- d
复制代码
|
|