一、判断题(共10小题,10分)
题型得分 8
在子类中可以覆盖其父类中定义的非私有方法。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
python是一种多态语言,崇尚鸭子类型。在鸭子类型中,并不关心对象是什么类型,只关心对象的行为。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
mro表示类继承的顺序。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
创建子类对象时,会自动调用其父类中定义的__init__方法。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 0
子类是父类的子集。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
B
题目得分 1
所有类都派生自object类。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
B
题目得分 0
在子类中可以覆盖其父类中定义的私有方法。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
B
题目得分 1
在子类中可以覆盖其父类中定义的__init__方法。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
如果定义一个类时没有指定继承哪个类,则默认继承object类。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
在子类中可以通过“父类名.方法名”的方式显式调用父类中的方法。
【来源】
《Python程序设计基础》第8章思考与练习。(1分)
A. 对
B. 错
我的答案:
A
题目得分 1
二、填空题(共15小题,30分)
题型得分 24
下面程序的输出结果为________(注意:不要有任何多余的空格)。
class Animal:
def msg(self):
return “Can Move.”
class Vertebrate:
def msg(self):
return “Has a backbone.”
def main():
creature = Vertebrate()
print(creature.msg(), isinstance(creature, Animal))
main()
(2分)
我的答案:
Has a backbone. False
题目得分 2
通过________(注:填写中文)将数据和对数据的处理过程封装为一个有机的整体。
(2分)
我的答案:
封装
题目得分 0
下面程序的输出结果为________ (注意:不要有任何多余的空格)。
class Animal:
def msg(self):
return “Can Move.”
class Vertebrate(Animal):
def msg(self):
return “Has a backbone.”
def main():
creature = Vertebrate()
print(creature.msg(), isinstance(creature, Animal))
main()
(2分)
我的答案:
Has a backbone. True
题目得分 2
下面程序的下画线处为调用B的父类的构造方法,正确的语句是________(注意:不要有任何多余的空格) 。
class A:
def init(self, i = 1):
self.i = i
class B(A):
def init(self, j = 2):
___________________
self.j = j
def main():
b = B()
print(b.i, b.j)
main()
(2分)
我的答案:
super().init()
题目得分 2
下面程序的输出结果为________。
class A:
def init(self):
print(‘A’, end = ‘#’)
class B(A):
def init(self, x):
super().init()
self.__x = x
print(‘B’)
b = B(3)
【来源】
《Python程序设计基础》第8章思考与练习。
(2分)
我的答案:
A#B
题目得分 2
下面程序的输出结果为________。
class A:
def init