Python大学教程(第2版) 第8章题目及答案.doc
第八章面向对象编程
一选择题
Python中的数据成员和函数成员默认都是()的
A.publicB.privateC.protectD.无法被访问
2.Python将以()开始的成员(但不能由双下划线结束)定义为私有成员
A.数字B.单下划线C.字母D.双下划线
3.加法操作对应()
A.__add__(self,other)
B.__sub__(self,other)
C.__mul__(self,other)
D.__and__(self,other)
4.通过(),可以吸收现有类的数据和行为来创建新类,并添加新的性能来增强此类。
A.继承
B.重载
C.类
D.对象
5.派生类定义一个与基类同名的函数;当对象访问该函数时,派生类的函数会()
A.覆盖基类的函数
B.调用基类的函数
C.调用基类和派生类的函数
D.基类和派生类的函数均不调用
6.在派生类定义的函数中,如果想调用基类的同名函数,则需要在函数名前添加()作为限定
A.双下划线
B.基类名和点操作符
C.括号
D.下划线
7关于Python多态以下选项正确的是()
A.大多数面向编程语言都不支持多态特性
B.Python本事不是多态语言
C.Python支持多态
D.Python不支持多态
8关于面向对象编程下列说法正确的是()
A.面向对象编程的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成的
B.面向对象方法解决问题的思路就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物
C.面向对象方法是一种运用一系列面向对象的指导软件构造的概念和原则(如类、对象、抽象、封装、继承、多态、消息等)来构造软件系统的开发方法
D.ABC
9关于类和对象下列说法正确的是()
对象是存在于某个时空的具体实体,而类则是拥有共同的结构、行为和语义的一组对象的抽象
类可以作为对象的一种描述机制,用来形成程序中更大的模块
类和对象的关系就好像数据类型和变量的关系。各个对象可以同属于一个类,但拥有彼此独立的属性。对象是类的实例,可以创建类的多个对象
ABC
10关于类成员下列说法正确的是()
Python中的数据成员和函数成员默认都是公开(public)的,即成员在类外可以被访问利用地图做长尾关键词
避免数据成员被直接修改的方法是将其设置为私有(private)成员
Python中将以双下划线开始的成员定义为私有成员
ABC
二判断题
1.Python允许函数重载。 ()
self指向的是当前创建的对象,Python解释器会自动进行传入。 ()
self参数表示函数的调用者被隐式地传递到函数中,在函数体内可以使用self参数来代表调用对象访问其成员。 ()
在将数据成员设置为私有后,为了在类外可以操作成员的值需要提供get函数来获取值和set函数来设置值。 ()
迭代是Python中一个很强大的功能,是访问集合元素的一种方式,利用迭代器可以进行优雅的遍历。 ()
__iter__()方法返回一个迭代器对象。 ()
一个类(Circle类)的成员也可以是另一个类(Point类)的对象。()
派生类不能够根据自己的特殊性质定义新的成员。()
派生类虽然继承了基类的数据成员,但由于它们都是私有成员,因此在派生类中不可访问,只能通过基类定义的公开函数成员进行访问。 ()
在定义了派生类后,派生类所构造的对象既可以访问继承自基类的成员,又可以访问派生类自己定义的成员。 ()
三填空题
1.避免数据成员被直接修改的方法是将其设置为成员。
2.Python将以开始的成员(但不能由双下划线结束)定义为私有成员。
3.解释器会抛出-来表示该成员不能在类外部访问。
4.如果想要获取一个自定义的类的迭代器,