版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识测试一、单选题1.面向对象的三大特征中不包括:(D)。A、继承B、封装C、多态D、循环2. 定义一个类的关键字是:(A)。A、classB、defC、keyD、import3.下列创建类的方法,正确的是(D)。A.Classfood():B.ClassFood():C.classFood()D.classFood():4.以下代码创建了一个football对象:football=Ball(),调用football对象的play方法,下列选项正确的是(C)A.Football.play()B.football.Play()C.football.play()D.football.play5.关于面向过程和面向对象,下列说法错误的是(B)。A.面向过程和面向对象都是解决问题的一种思路B.面向过程是基于面向对象的C.面向过程强调的是解决问题的步骤D.面向对象强调的是解决问题的对象二、填空题1. 类是用来描述具有相同的属性和方法的对象的集合。2. OOP是面向对象程序设计的英文缩写。3. 类的初始化方法为init。4. 面向对象编程的三大特性是封装、继承、多态。5. Python使用关键字class来定义类。6. 类的方法中必须有一个self参数,位于参数列表的开头。三、简答题1. 请简述面向对象程序设计的概念?参考答案:面向对象程序设计(Object-OrientedProgramming,OOP)是开发计算机应用程序的一种方法和思想。它可以大幅度的提高程序代码的复用率,更加有利于软件的开发、维护和升级。2. 什么是类?什么是对象?类和对象的关系是什么?参考答案:在生活中,像张三,李四,王五,这样真真正正存在人的实体,我们称这些实体为对象。类是一个抽象概念:当我们说到人类,猫类,犬类的时候我们是无法具体到某一个实体的。类是描述某一些对象的统称,对象是这个类的一个实例而已。3.简单解释Python中以下划线开头的变量的特点。参考答案:在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定义中。用下划线作为变量前缀和后缀来表示类的特殊成员:(1)_xxx:这样的对象叫做保护变量,不能用'frommoduleimport*'导入,只有类对象和子类对象能访问这些变量;(2)__xxx__:系统定义的特殊成员名字;(3)__xxx:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式来访问。四、编程题1.设计一个学生类,要求一个计数器的属性,用于统计学生人数。参考代码:classStudent:count=0def__init__(self,name,age):=nameself.age=ageStudent.count+=1deflearn(self):print("islearning")stu1=Student("张三",20)stu2=Student("李四",19)stu3=Student("王五",21)stu4=Student("刘六",22)print(Student.count)2.定义一个汽车类(Car),属性有颜色,品牌,车牌号,价格,并实例化两个对象,给属性赋值,并输入属性值。参考代码:classcar():def__init__(self,color,brand,plate,price):self.color=colorself.brand=brandself.plate=plateself.price=pricedefdriver(self):print(self.color,self.brand,self.plate,self.price)c=car("红色","奔驰","黑A00000",15000000)c.driver()运行结果:红色奔驰黑A00000150000003.定义一个球员类(Player),属性有身高,体重,姓名,实例化两个球员,分别是姚明和科比;参考代码:classplayer():def__init__(self,high,weight,name):self.high=highself.weight=weight=namedefman(self):print(self.high,self.weight,)p1=player(2.2,200,"姚明")p2=player(2.25,225,"科比")p1.man()p2.man()运行结果:2.2200姚明2.25225科比技能测试基础任务1.设计Bird(鸟)类、Fish(鱼)类,都继承自Animal(动物)类,用方法print_info()输出信息,要求动物的名称和年龄能够对数化,参考输出结果如下图所示:参考代码:classAnimal:def__init__(self,owner="animal",age=5):self.owner=ownerself.age=agedefprint_info(self):print("我是一只%s"%(self.owner))print("我今年%d岁了"%(self.age))classBird(Animal):defprint_info(self):print("我是一只美丽的%s"%(self.owner))print("我今年%d岁了"%(self.age))classFish(Animal):defprint_info(self):print("我是条红色的%s"%(self.owner))print("我今年%d岁了"%(self.age))bird=Bird("鸟",8)bird.print_info()fish=Fish("鱼",10)fish.print_info()2.设计长方形类Rect和正方形Squa,每个类均包含计算周长和面积的方法,长方形以正方形为基类,正方形默认边长10cm,长方形宽为20cm。参考代码:classsqua:length=10defsquazc(self):return4*self.lengthdefsquamj(self):returnself.length*self.lengthclassrect(squa):width=20defrectzc(self):return2*(self.length+self.width)defrectmj(self):returnself.length*self.widthsql=squa()print("正方形默认值为:")print("正方形边长为:",sql.length)print("正方形周长为:",sql.squazc())print("正方形面积为:",sql.squamj())rec1=rect()print("长方形默认值为:")print("长方形边长为:",rec1.length,rec1.width)print("长方形周长为:",rec1.rectzc())print("长方形面积为:",rec1.rectmj())运行结果:正方形默认值为:正方形边长为:10正方形周长为:40正方形面积为:100长方形默认值为:长方形边长为:1020长方形周长为:60长方形面积为:200拓展任务采用面向对象的方法求解下式,要求保留精度10-5。s=1+参考代码:classcomputer:defsum(self):self.n=1self.s=0while(1.0/(2*self.n-1)>1E-5):self.f=1.0/(2*self.n-1)self.s+=self.fself.n+=1defout(self):print("s=%.5f,n=%d"%(self.s,self.n))obj=computer()obj.sum()obj.out()2.创建圆基类Circle,设置属性:半径(默认值为10),方法:求周长circlezc()和面积circlemj()。创建子类球Ball(),以圆类为基类,无新属性,方法有:就表面积ballbmj()和体积balltj()。输出圆的默认周长和面积,以及修改属性值之后的周长和面积。输出球的默认周长和面积,以及修改属性值之后的周长和面积。参考代码:classCircle:r=10defcirclezc(self):return2*3.14*self.rdefcirclemj(self):return3.14*self.r**2classBall(Circle):defballbmj(self):return4*3.14*self.r**2defballtj(self):return4/3.0*3.14*self.r**3cir1=Circle()print("圆形的默认值为:")print("圆的周长为:",cir1.circlezc())print("圆的面积为:",cir1.circlemj())cir1.r=20print("圆形的修改值为:")print("圆的周长为:",cir1.circlezc())print("圆的面积为:",cir1.circlemj())ball1=Ball()print("球的默认值为:")print("球的表面积为:",ball1.ballbmj())print("球的体积为:",ball1.balltj())ball1.r=20print("球的修改值为:")print("球的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年婚庆公司摄影摄像服务合同协议
- 《红楼梦》整本书阅读 主题学案 统编版高中语文必修下册
- 精装修质量管控要求及施工工艺标准
- 城市轨道交通应急处理课件 项目四-任务2-接触网、接触轨故障应急处理-供电设备故障应急处理
- 数据库系统架构师面试题目解析2026
- 2026年电信面试如何做到言简意赅地表达观点
- 2026年竞彩预测能力锻炼习题集
- 2026年经典文学作品赏析与创作解析
- 2026年思维拓展与创新能力测试题库
- 2026年社会组织建会专项行动与律师事务所会计师事务所等组织建会考核
- 2026河北省国控商贸集团有限公司招聘备考题库及一套答案详解
- 20kV及以下配电网工程预算定额(2022版)全5册excel版
- (2026版)医疗保障基金使用监督管理条例实施细则的学习与解读课件
- 挖机租赁合同计时
- 浙江省2024浙江省药品监督管理局所属3家事业单位招聘15人笔试历年参考题库典型考点附带答案详解
- 社会团体内部规章制度
- 湖南省湘西州2025-2026学年七年级上学期期末考试历史试卷(解析版)
- 2026年教科版三年级科学下册 3.6一天中影子的变化(课件)
- 规范村级合同管理制度
- 重症患者液体治疗指南更新2026
- 项目管理员考试试题及答案
评论
0/150
提交评论