python面试题之阅读下面的代码,它的输出结果是什么?
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黑洞网,博客园同步跟新
python面试题之阅读下面的代码,它的输出结果是什么?的更多相关文章
- Python面试题之阅读下面的代码,写出A0,A1至An的最终值
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [i for i in A1 if i in A0] A3 ...
- python面试题之补充缺失的代码
补充缺失的代码 def print_directory_contents(sPath): """ 这个函数接受文件夹的名称作为输入参数, 返回该文件夹中文件的路径, 以及 ...
- 常见python面试题-手写代码系列
1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reversetempList = [1,2,3,4]tempList.reverse()for x in tempList: pr ...
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- Python面试题之Python面试题汇总
在这篇文章中: Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Py ...
- 最新Python笔试题2017 涵盖知识面广泛
引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python.下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块.每一个问题都可以 ...
- python 面试题4
Python面试题 基础篇 分类: Python2014-08-08 13:15 2071人阅读 评论(0) 收藏 举报 最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工 ...
- 震惊!几道Python 理论面试题,Python面试题No18
本面试题题库,由公号:非本科程序员 整理发布 第1题: 简述解释型和编译型编程语言? 解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候 ...
- 常见的 35 个 Python 面试题及答案
1. Python 面试问题及答案 作为一个 Python 新手,你必须熟悉基础知识.在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试.包括 Python 开发 ...
随机推荐
- Python多进程、多线程和协程简介
一.进程和线程 进程是一个执行中的程序.每个进程都拥有自己的地址空间.内存.数据栈以及其他用于跟踪执行的辅助数据.在单核CPU系统中的多进程,内存中可以有许多程序,但在给定一个时刻只有一个程序在运行: ...
- 最小,独立,可分发的跨平台Web服务器
最近,我一直在编写大量较小的wsgi应用程序,并希望找到一个可以分布式,预先配置为运行特定应用程序的Web服务器.我知道有些东西可以用于wsgi应用程序,例如twisted和cherrypy,但它们似 ...
- 43.Word Break(看字符串是否由词典中的单词组成)
Level: Medium 题目描述: Given a non-empty string s and a dictionary wordDict containing a list of non- ...
- android ListView列表显示数据
item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...
- form 表单的name
form 中 的name 很重要, 1. 可以用来查找对应的input 2.form 提交之后 会用来作为参数列表的名字 3.enovia plm 中,name 会和 table 的field 进行对 ...
- windows7下搭建robot framework环境
第一步 安装python并设置环境变量 1.安装python: python下载地址https://www.python.org/,建议用2.7.x版本 2.设置环境变量: 方法如下所示 第二步 安 ...
- 三步完成Source Insight 4.0 破解安装(转)
转自:https://blog.csdn.net/biubiuibiu/article/details/78044232 三步完成Source Insight 4.0 破解安装 下载地址有更新,之 ...
- Java jvisualvm简要说明(转)
转自:http://blog.csdn.net/a19881029/article/details/8432368 jvisualvm能干什么:监控内存泄露,跟踪垃圾回收,执行时内存.cpu分析,线程 ...
- Windows 命令提示符
命令提示符(cmd): 启动:Win+R ,输入cmd回车 切换盘符:盘符名称: 进入文件夹:cd 文件夹名称 进入多级文件夹:cd 文件夹1\文件夹2\文件夹3 返回上一级:cd .. 直接回根路径 ...
- codeblocks编译调试C语言二级指针小记
夜已深,暂时附上一个截图,后面慢慢道来. 下图时用codeblocks调试C语言的界面,codeblocks版本是17.12nosetup版,也为继承mingw,我用的编程器是tdm-gcc-5.1. ...