您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Python语言程序设计(美-梁勇)第7章习题解答
第7章对象和类7.1描述对象和它的类定义之间的关系。答:类定义对象的特征和行为。一个Python类使用变量存储数据域,定义方法来完成动作。类就是一份契约(有时也称之为模板或蓝本),它定义对象的数据域和方法。对象是类的一个实例,你可以创建一个类的多个对象。创建类的一个实例的过程被称为实例化,术语对象和实例经常是可互换的,对象就是实例。7.2如何定义一个类?答:Python使用下面的语法定义一个类:Classclassname:InitializerMethods类名通常是在关键词class之后,其后紧随一个冒号(:),初始化程序总是被命名为__init__。7.3如何创建一个对象?答:一旦定义了一个类,你就可以使用构造方法由类来创建对象,其语法规则为:类名(参数)。构造方法完成两个任务,(1)在内存中为类创建一个对象;(2)调用__init__初始化对象。7.4初始化方法的名字是什么?答:__init__(self)7.5习惯上,初始化方法的第一个参数被命名为self,self的作用是什么?答:self是指向对象本身的参数。7.6构建一个对象的语法是什么?Python在创建一个对象时做了些什么?答:构建对象的语法:类名(参数)。构造方法完成两个任务,(1)在内存中为类创建一个对象;(2)调用__init__初始化对象。7.7一个初始化程序和一个方法的区别是什么?答:初始化是一个特殊的方法,它是在创建和初始化这个新对象时被调用的。7.8对象成员访问运算符是干什么的?答:是圆点运算符(.)。7.9运行下面的程序会出现什么问题?如何修正它?ClassA:Def__init__(self,i):Self.i=iDefmain():a=A()Printa.i答:需要传递一个实参来调用初始化函数。7.10下面的程序有什么错误?答:a、没有初始化程序b、应该是self.radius=37.11给出下面程序的输出结果:答:count=100times=07.12给出下面程序的输出结果:答:count=0n=17.13运行下面的程序时会出现什么问题?如何修改它?答:i为私有域,不能在类外被查看。7.14下面的代码正确吗?如果正确,它的输出是什么?答:正确,输出Welcome7.15下面的代码正确吗?如果不正确,修改这个错误。答:不正确,on是私有域,不能被类外函数访问。classA:def__init__(self,on):self.__on=notondefisOn(self):returnself.__ondefmain():a=A(False)print(a.isOn())7.16数据隐藏的优点是什么?在Python中如何实现它?答:隐藏数据域是使用数据域私有来保护数据,让类更易于维护。在Python语言中,私有数据域是以两个下划线开始来定义的,也可以使用两个下划线开始来定义私有方法。私有数据域和方法可以在类内部被访问,但他们不能再类外被访问。7.17如何定义一个私有方法?答:以两个下划线开头定义方法7.18描述面向过程和面向对象范型的不同之处。答:面向过程范型程序设计的重点在设计函数上。而面向对象范型将数据和方法合并到对象中,使用面向对象范型的软件设计的重点是在对象和对象上的操作。本章总结1.类是一种对象的模板、蓝图、合约和数据类型。它定义了对象的属性,并提供用于初始化对象的初始化程序和操作这些属性的方法。2.初始化程序总是以__init__命名。每个方法的第一个参数包括类中的初始化程序,它指向调用这个方法的对象。按照惯例,这个参数以self命名。3.对象时是类的一个实例。你使用构造方法来创建一个对象,使用圆点运算符(.)通过引用变量来访问对象的成员。4.实例变量或方法属于类的一个实例。它的使用和每个独立的实例相关联。5.类中的数据域应该被隐藏以避免被更改并使类易于维护。6.你可以提供get方法或set方法使客户端可以查看或更改数据。通俗地讲,get方法被称为获取器(或访问器)。而set方法被称为设置器(或修改器)。
本文标题:Python语言程序设计(美-梁勇)第7章习题解答
链接地址:https://www.777doc.com/doc-5006524 .html