python面试题之阅读下面的代码,它的输出结果是什么?
2024-09-06 04:07:28
class A(object):
def go(self):
print "go A go!"
def stop(self):
print "stop A stop!"
def pause(self):
raise Exception("Not Implemented") class B(A):
def go(self):
super(B, self).go()
print "go B go!" class C(A):
def go(self):
super(C, self).go()
print "go C go!"
def stop(self):
super(C, self).stop()
print "stop C stop!" class D(B,C):
def go(self):
super(D, self).go()
print "go D go!"
def stop(self):
super(D, self).stop()
print "stop D stop!"
def pause(self):
print "wait D wait!" class E(B,C): pass a = A()
b = B()
c = C()
d = D()
e = E() # 说明下列代码的输出结果 a.go()
b.go()
c.go()
d.go()
e.go() a.stop()
b.stop()
c.stop()
d.stop()
e.stop() a.pause()
b.pause()
c.pause()
d.pause()
e.pause()
答案
输出结果以注释的形式表示:
a.go()
# go A go! b.go()
# go A go!
# go B go! c.go()
# go A go!
# go C go! d.go()
# go A go!
# go C go!
# go B go!
# go D go! e.go()
# go A go!
# go C go!
# go B go! a.stop()
# stop A stop! b.stop()
# stop A stop! c.stop()
# stop A stop!
# stop C stop! d.stop()
# stop A stop!
# stop C stop!
# stop D stop! e.stop()
# stop A stop! a.pause()
# ... Exception: Not Implemented b.pause()
# ... Exception: Not Implemented c.pause()
# ... Exception: Not Implemented d.pause()
# wait D wait! e.pause()
# ...Exception: Not Implemented
为什么提这个问题?
因为面向对象的编程真的真的很重要。不骗你。答对这道问题说明你理解了继承和Python中super
函数的用法。
本文首发于Python黑洞网,博客园同步跟新
最新文章
- 无限循环轮播图之JS部分(原生JS)
- 以实际的WebGIS例子探讨Nginx的简单配置
- Mac OSX定位命令路径的方法
- perl在命令行中打印单引号
- Stanford机器学习---第八讲. 支持向量机SVM
- linux 缺少动态连接库.so--cannot open shared object file: No such file or directory
- Android概述(思维导图)
- leetcode面试准备:Triangle
- Eric Pement的单行awk命令收集
- javascript监听事件兼容
- jdk8预览
- ResultSet与Result
- .NET平台机器学习
- Chatbot思考录
- flex检查对象是否存在某个方法(函数)、属性的最简方法
- 关于NLB的群集操作模式知识 (转载)
- SQL学习(持续更新)
- Unity使用OpenGL绘制经纬线圈
- 决策树归纳算法之ID3
- Flutter学习笔记(一)