当前位置: 首页 > news >正文

浙江大学python程序设计(陈春晖、翁恺、季江民)习题答案-第八章

一、判断题

1.创建对象是通过调用构造方法完成的。 正确
2.位于对象中的方法称为实例变量。 错误
3.Python方法定义的第一个参数是this。 错误
4.一个对象只能有一个实例变量。 错误
5.在Python类中,构造方法的名称为__init__正确
6.从类定义之外直接访问实例变量不是一个好的程序设计风格。正确
7.在类定义中隐藏对象的细节称为实例化。 错误
8.父类(超类)从子类继承方法。 错误
9. Python中一切内容都可以称为对象。 正确
10.定义类时,所有实例方法的第一个参数用来表示对象本身,在类的外部通过对类和对象名来调用实例方法时不需要为该参数传值。 正确
11.在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。 错误
12.对于Python类中的私有成员,可以通过“对象名.__类名__私有成员名”的方式来访问。 错误
13.在Python中定义类时,实例方法的第一个参数名称必须是self。正确
14.在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。 错误
15.定义类时,在一个方法前面使用 @classmethod 进行修饰,则该方法属于类方法。 正确
16.定义类时,在一个方法前面使用 @staticmethod 进行修饰,则该方法属于静态方法。 正确
17.在Python中可以为自定义类的对象动态增加新成员。正确

选择题

1.Python保留字 B 开始了类定义
A. def
B. class
C. object
D. init

2.在类中,具有四个形式参数的方法通常在调用时有 B 个实际参数。
A. 3
B. 4
C. 5
D. 不确定

3.在类的方法定义中,可以通过表达式 B 访问实例变量 x
A. x
B. self.x
C. self[x]
D. this.x

4.定义一个类的“私有”方法,Python的惯例是使用 B 开始方法的名称。
A.“private”
B.两个下划线(__)
C.井号(#)
D.减号(-)

5.将细节隐藏在类定义中,术语称为 D
A.虚函数
B.子类化
C.继承
D.封装

6.以下 C 不是面向对象程序设计的基本特征之一。
A.继承
B.多态
C.抽象
D.封装

7.分析下面的代码 D

class A: def __init__(self,s): self.s = sdef print(self):print(s)a = A("Welcome")
a. print()

A.程序有错误,因为类 A 中没有构造方法。
B.程序有错误,因为类 A 中有一个命名的print方法print(self,s)。
C.程序有错误,因为类 A 中有一个命名的print方法print(s)。
D.如果方法 print(s) 改成 print(self.s),程序能够正常运行。

8.分析下面的代码 D

class A:def __init__(self):self.X = 1self.__Y = 1def getY(self):return self.__Ya = A()
print(a.X)

A.程序有错误,因为 x 是私有的,不能在类之外访问。
B.程序有错误,因为 y 是私有的,不能在类之外访问。
C.程序有错误,不能使用 y 作为变量名。
D.程序运行结果为1。
E.程序运行结果为0。

9.分析下面的代码 B

class A:def __init__(self):self.X = 1self.__Y = 1def getY(self):return self.__Ya = A()
print(a.__Y)

A.程序有错误,因为 x 是私有的,不能在类之外访问。
B.程序有错误,因为 y 是私有的,不能在类之外访问。
C.程序有错误,不能使用 __y 作为变量名。
D.程序运行结果为1。
E.程序运行结果为0。

10.分析下面代码 D

class A:def __init__(self):self.X = 1self.__Y = 1def getY(self):return self.__Ya = A()
a.__Y = 45
print(a.getY())

A.程序有错误,因为x是私有的,不能在类之外访问。
B.程序有错误,因为y是私有的,不能在类之外访间。
C.程序有错误,不能使用y作为变量名。
D.程序运行结果为1。
E.程序运行结果为45。

11.下面代码段运行的结果是 B

def main():myCount = Count()times = 0for i in range(0, 100):increment(myCount, times)print("myCount. count =", myCount.count, "times=", times)def increment(c, times):c.count += 1times += 1class Count:def __init__(self):self.count = 0main()

A.count值为101,times值为0
B.count值为100,times值为0
C.count值为100,times值为100
D.count值为101,times值为101

12.下面代码段运行的结果是 C


A. 0 0
B. 0 1
C. 1 2
D. 0 2
E. 2 1

13.下面代码段运行的结果是 C

class A:def __new__(self):self.__init__(self)print("A's __new__() invoked")def __init__(self):print("A's __init__() invoked")class B(A):def __new__(self):print("B's __new__() invoked")def __init__(self):print("B's __init__() invoked")def main():b = B()a = A()main()

A.B's __new__() invoked A's __init__() invoked
B. B's __new__() invoked A's __new__() invoked
C.B's __new__() invoked A's __init__() invoked A's __new__() invoked
D. A's __init__() invoked A's __new__() invoked

14.下面代码段运行的结果是 B

class A:def __init__(self):self.i = 1def m(self):self.i = 10class B(A):def m(self):self.i += 1return self.idef main():b = B()print(b.m())main()

A.1
B.2
C.10
D.3

相关文章:

  • RAG系统实战:文档切割与转换核心技术解析
  • Postgresql14+Repmgr部署
  • sentinel滑动时间窗口算法详解
  • 性能测试场景题
  • leetcode hot100刷题日记——10.螺旋矩阵
  • Day 0015:Metasploit 基础解析
  • ollama接口配合chrome插件实现商品标题和描述生成
  • 手写简单的tomcat
  • 硅基计划2.0 学习总结 叁
  • fscan教程1-存活主机探测与端口扫描
  • nginx动态控制前端版本
  • mysql安全管理
  • LeetCode 1340. 跳跃游戏 V(困难)
  • SpringCloud(三)
  • window 显示驱动开发-视频内存供应和回收(一)
  • Qt状态机QStateMachine
  • 插值算法 - 图像缩放插值QT
  • 简说Qt信号和槽
  • Flink中Kafka连接器的基本应用
  • Qt5、C++11 获取wifi列表与wifi连接
  • 沈阳网站建设招标公司/青岛网站快速排名提升
  • 自己如何建设网站首页/湖南疫情最新消息
  • 网站域名改了以后新域名301/南京百度快速排名优化
  • 微信公众平台人工电话/网站播放视频速度优化
  • 成都微信网站建设/哈尔滨关键词排名工具
  • 中山建站/官网整站优化