第72卷 面向对象程序设计 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》

2026-08-08
| 2份
| 13页
| 34人阅读
| 0人下载

内容正文:

编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷7份。 本试卷是第72卷,为知识训练卷,按《计算机编程基础—Python语言》中“面向对象程序设计”范围和要求编写。具体内容为:1.事件与事件响应(仅限于鼠标事件和键盘事件)(C)。2.控件布局(C)。3.简单 GUI 界面程序设计(仅限于考前复习所列的 Tkinter 控件)(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第72卷 计算机编程基础—Python语言——面向对象程序设计 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.子类重写父类方法时,通过__________函数调用父类中的同名方法。 2.Python中所有类的最终基类是__________。 3.使用__________装饰器可以将方法转换为类方法,第一个参数为cls。 4.通过__________装饰器可以将方法像属性一样访问,无需加括号。 5.多重继承中方法查找顺序称为__________。 6.__________方法在删除对象时自动调用,用于资源清理。 7.使用__________装饰器定义的方法不需要self或cls参数。 8.运算符重载通过定义__________方法实现,如__________add__________重载+。 9.类方法中的第一个参数约定命名为__________而非self。 10.__________方法返回对象的"官方"字符串表示,常用于调试。 二、单项选择题(共15题,每题2分,共30分) 11.super().__init__()的作用是(  ) A.调用自身构造 B.调用父类构造 C.创建新对象 D.报错 12.class D(B,C):pass中D的父类数量(  ) A.1 B.2 C.报错 D.0 13.@classmethod装饰的方法第一个参数是(  ) A.self B.cls C.无参数 D.任意名 14.@property装饰后(  ) A.方法变属性 B.属性变方法 C.方法变私有 D.报错 15.class A: def __add__(self,o):return 0;a=A();a+1返回值(  ) A.1 B.0 C.报错 D.A对象 16.__del__在_______时调用(  ) A.对象创建 B.对象删除/回收 C.程序退出 D.类定义 17.@staticmethod和普通函数区别(  ) A.无区别 B.属于类命名空间 C.不能调用 D.速度更快 18.class A: x=1; a=A(); a.x=2; del a.x; print(a.x)输出(  ) A.1 B.2 C.报错 D.None 19.__str__与__repr__主要区别(  ) A.无区别 B.str用户友好repr调试 C.str调试repr友好 D.str用于整数 20.class Dog: def __init__(self,name):self._name=name;@property def name(self):return self._name(  ) A.报错 B.语法错误 C.只读属性 D.可读写属性 21.多态的含义是(  ) A.多个类 B.同一接口不同实现 C.多重继承 D.多个实例 22.class A:pass;a=A();print(a.__class__.__name__)(  ) A.A B.a C.class D.object 23.__eq__方法重载的运算符是(  ) A.+ B.- C.* D.== 24.class M: @staticmethod def f():return 1;M.f()输出(  ) A.1 B.报错 C.None D.M对象 25.class A:pass;class B(A):pass;b=B();isinstance(b,A)返回(  ) A.True B.False C.None D.报错 三、程序分析题(共3题,每题6分,共18分) 26.class Animal: def speak(self): print("动物叫") class Dog(______): def speak(self): ______.speak() print("汪汪") d=Dog() d.speak() 27.class Student(object): @property def score(): return self._score @score.setter def score(value): self._score=value 28.class A: def show(self):return "A" class B(A): def show(self):return super().show()+"B" class C(B): def show(self):return super().show()+"C" c=C() print(c.show()) print(isinstance(c,A)) print(isinstance(c,(A,B))) 四、程序设计题(3题,29/30各6分/31各8分) 29.定义类Vector2D含属性x和y,重载__add__实现向量加法,重载__str__返回格式"(x,y)"。样例:v1=Vector2D(1,2) v2=Vector2D(3,4) print(v1+v2)→(4,6) 30.定义类Student含私有属性__name,用@property提供只读name,用@name.setter限制name非空。输入姓名创建对象并输出。 31.定义类Shape含area方法(返回0),子类Rectangle和Circle重写area,用多态统一计算面积。输入类型和参数,输出面积。样例:rect 5 3→15,circle 5→78.5   五、综合应用题(共1题,每题12分,共12分) 32.设计图书管理系统:基类Book(属性title/author,方法info),子类EBook(增加file_size和download方法),子类PBook(增加pages和borrow方法)。演示多态info输出。样例:Python编程/张三/EBook/5→Python编程 by 张三 [电子书 5MB]   原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。 本试卷是第72卷,为知识训练卷,按《计算机编程基础—Python语言》中“面向对象程序设计”范围和要求编写。具体内容为:1.事件与事件响应(仅限于鼠标事件和键盘事件)(C)。2.控件布局(C)。3.简单 GUI 界面程序设计(仅限于考前复习所列的 Tkinter 控件)(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第72卷 计算机编程基础—Python语言——面向对象程序设计 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.子类重写父类方法时,通过__________函数调用父类中的同名方法。 【答案】super() 【解析】super()返回父类临时对象用于调用父类方法。在多重继承中按MRO顺序查找方法,比直接写父类名更安全灵活。 2.Python中所有类的最终基类是__________。 【答案】object 【解析】object是所有类的最终基类。Python3中即使不显式写出,所有类都默认继承自object,获得基本方法如__________str__________。 3.使用__________装饰器可以将方法转换为类方法,第一个参数为cls。 【答案】@classmethod 【解析】@classmethod装饰器将方法转为类方法,第一个参数为cls指代类本身而非实例。可通过类名或实例调用,常用于工厂方法。 4.通过__________装饰器可以将方法像属性一样访问,无需加括号。 【答案】@property 【解析】@property将方法转为只读属性,访问时无需括号如obj.name。@name.setter定义赋值逻辑,实现属性访问控制与验证。 5.多重继承中方法查找顺序称为__________。 【答案】MRO 【解析】多重继承采用 C3 线性化算法生成 MRO(方法解析顺序),决定父类方法的查找优先级,可通过类名.__mro__查看顺序。 6.__________方法在删除对象时自动调用,用于资源清理。 【答案】__del__ 【解析】__del__是析构魔法方法,对象被垃圾回收销毁时自动执行,一般用于关闭文件、释放连接等收尾资源清理工作。 7.使用__________装饰器定义的方法不需要self或cls参数。 【答案】@staticmethod 【解析】静态方法由@staticmethod装饰器声明,不需要传入 self(实例参数)或 cls(类参数),依靠类名或者实例均可直接调用。 8.运算符重载通过定义__________方法实现,如__________add__________重载+。 【答案】特殊/魔法 【解析】Python 依靠魔法(特殊)方法实现运算符重载,例如__add__对应加号+、__eq__对应等于==、__len__适配 len () 函数。 9.类方法中的第一个参数约定命名为__________而非self。 【答案】cls 【解析】类方法使用@classmethod装饰,首个固定参数约定为 cls,代表当前类本身,用来操作类属性、调用类方法。 10.__________方法返回对象的"官方"字符串表示,常用于调试。 【答案】repr 【解析】__repr__用于生成对象官方调试字符串,偏向开发者调试使用;__str__是面向普通用户的简洁展示字符串。 二、单项选择题(共15题,每题2分,共30分) 11.super().__init__()的作用是(  ) A.调用自身构造 B.调用父类构造 C.创建新对象 D.报错 【答案】B 【解析】super()返回父类代理,__init__调用父类构造方法。子类重写__init__时常用super保留父类初始化。 12.class D(B,C):pass中D的父类数量(  ) A.1 B.2 C.报错 D.0 【答案】B 【解析】Python支持多重继承,多个父类逗号分隔。MRO决定方法查找顺序,建议谨慎使用避免菱形继承问题。 13.@classmethod装饰的方法第一个参数是(  ) A.self B.cls C.无参数 D.任意名 【答案】B 【解析】cls代表类本身。可通过类名.method()或实例.method()调用。工厂方法和替代构造器常用。 14.@property装饰后(  ) A.方法变属性 B.属性变方法 C.方法变私有 D.报错 【答案】A 【解析】@property让方法可像属性obj.name这样访问(不加括号)。配合@xxx.setter实现读写控制。 15.class A: def __add__(self,o):return 0;a=A();a+1返回值(  ) A.1 B.0 C.报错 D.A对象 【答案】B 【解析】a+1调用__add__(self,1)返回0。运算符重载让自定义对象支持运算符操作。 16.__del__在_______时调用(  ) A.对象创建 B.对象删除/回收 C.程序退出 D.类定义 【答案】B 【解析】__del__析构方法在对象被垃圾回收时调用。del obj减少引用计数,此时不一定立即调用__del__。 17.@staticmethod和普通函数区别(  ) A.无区别 B.属于类命名空间 C.不能调用 D.速度更快 【答案】B 【解析】staticmethod在类命名空间内但与实例无关。可通过类名或实例调用。常作类的工具函数组织方式。 18.class A: x=1; a=A(); a.x=2; del a.x; print(a.x)输出(  ) A.1 B.2 C.报错 D.None 【答案】A 【解析】a.x=2创建实例属性。del删除后访问回退到类属性A.x=1。实例属性覆盖类属性,删除后类属性可见。 19.__str__与__repr__主要区别(  ) A.无区别 B.str用户友好repr调试 C.str调试repr友好 D.str用于整数 【答案】B 【解析】__str__面向用户print显示,__repr__面向开发者调试。若未定义__str__则fallback到__repr__。 20.class Dog: def __init__(self,name):self._name=name;@property def name(self):return self._name(  ) A.报错 B.语法错误 C.只读属性 D.可读写属性 【答案】C 【解析】@property将name方法变为属性(只读)。无@name.setter则无法赋值。_name为约定保护属性。 21.多态的含义是(  ) A.多个类 B.同一接口不同实现 C.多重继承 D.多个实例 【答案】B 【解析】多态:不同类定义同名方法,调用者无需知道具体类型。如animal.speak()在Dog和Cat中表现不同。 22.class A:pass;a=A();print(a.__class__.__name__)(  ) A.A B.a C.class D.object 【答案】A 【解析】a.__class__返回类A,.__name__获取类名。type(a).__name__等价。运行时获取对象类型名。 23.__eq__方法重载的运算符是(  ) A.+ B.- C.* D.== 【答案】D 【解析】__eq__重载==。__ne__重载!=,__lt__重载<,__gt__重载>。未定义时默认比较对象身份(地址)。 24.class M: @staticmethod def f():return 1;M.f()输出(  ) A.1 B.报错 C.None D.M对象 【答案】A 【解析】静态方法通过类名直接调用M.f()。无需创建实例。普通方法需m=M();m.method()。 25.class A:pass;class B(A):pass;b=B();isinstance(b,A)返回(  ) A.True B.False C.None D.报错 【答案】A 【解析】isinstance检查继承关系,子类实例也是父类的实例。type(b)==A为False(精确类型检查)。 三、程序分析题(共3题,每题6分,共18分) 26.class Animal: def speak(self): print("动物叫") class Dog(______): def speak(self): ______.speak() print("汪汪") d=Dog() d.speak() 【答案】(1)Animal(3分);(2)super()(3分)。 【解析】Dog继承Animal。super().speak()先调用父类speak输出"动物叫",再输出"汪汪"。子类扩展而非完全覆盖父类行为。 27.class Student(object): @property def score(): return self._score @score.setter def score(value): self._score=value 【答案】(1)@property方法缺少self参数,def score(self):(3分);(2)@score.setter方法的self参数缺失,def score(self,value):(3分)。 【解析】@property方法需接收self(实例对象)。setter方法除self外还需接收要设置的值。self是实例方法的必需参数。 28.class A: def show(self):return "A" class B(A): def show(self):return super().show()+"B" class C(B): def show(self):return super().show()+"C" c=C() print(c.show()) print(isinstance(c,A)) print(isinstance(c,(A,B))) 【答案】ABC True True 【解析】C继承B继承A。C.show→super().show()+C→B.show+C→A+B+C="ABC"。isinstance检查继承链,元组表示任意匹配即True。 四、程序设计题(3题,29/30各6分/31各8分) 29.定义类Vector2D含属性x和y,重载__add__实现向量加法,重载__str__返回格式"(x,y)"。样例:v1=Vector2D(1,2) v2=Vector2D(3,4) print(v1+v2)→(4,6) 【答案】class Vector2D: def __init__(self,x,y): self.x=x;self.y=y def __add__(self,o): return Vector2D(self.x+o.x,self.y+o.y) def __str__(self): return f"({self.x},{self.y})" v1=Vector2D(1,2);v2=Vector2D(3,4) print(v1+v2) 【解析】__add__重载+返回新Vector2D。__str__定义print显示。v1+v2调用 v1.__add__(v2)。运算符重载使自定义类型支持运算符。 30.定义类Student含私有属性__name,用@property提供只读name,用@name.setter限制name非空。输入姓名创建对象并输出。 【答案】class Student: def __init__(self,name): self.__name=name @property def name(self): return self.__name @name.setter def name(self,value): if value: self.__name=value else: print("姓名不能为空") s=Student("张三") print(s.name) s.name="" print(s.name) 【解析】__name私有属性。@property只读访问,@name.setter控制设置(非空检查)。封装保护数据完整性。 31.定义类Shape含area方法(返回0),子类Rectangle和Circle重写area,用多态统一计算面积。输入类型和参数,输出面积。样例:rect 5 3→15,circle 5→78.5 【答案】class Shape: def area(self):return 0 class Rectangle(Shape): def __init__(self,w,h):self.w=w;self.h=h def area(self):return self.w*self.h class Circle(Shape): def __init__(self,r):self.r=r def area(self):return 3.14159*self.r*self.r t=input() if t=="rect": w,h=map(int,input().split());s=Rectangle(w,h) else: r=float(input());s=Circle(r) print(round(s.area(),1)) 【解析】Shape基类定义接口,子类各自实现area。多态:无需判断类型直接s.area()即可。新增图形只需继承Shape即可扩展。 五、综合应用题(共1题,每题12分,共12分) 32.设计图书管理系统:基类Book(属性title/author,方法info),子类EBook(增加file_size和download方法),子类PBook(增加pages和borrow方法)。演示多态info输出。样例:Python编程/张三/EBook/5→Python编程 by 张三 [电子书 5MB] 【答案】class Book: def __init__(self,t,a):self.title=t;self.author=a def info(self):return self.title+' by '+self.author class EBook(Book): def __init__(self,t,a,size): super().__init__(t,a);self.size=size def info(self):return super().info()+' [电子书 '+str(self.size)+'MB]' def download(self):print('下载中...') class PBook(Book): def __init__(self,t,a,pages): super().__init__(t,a);self.pages=pages def info(self):return super().info()+' [纸质 '+str(self.pages)+'页]' def borrow(self):print('借阅中...') t=input();a=input();tp=input() if tp=='EBook': s=int(input());b=EBook(t,a,s) else: p=int(input());b=PBook(t,a,p) print(b.info()) 【解析】Book基类含title/author和info方法。EBook/PBook继承并扩展属性(size/pages),info通过super()扩展父类输出。多态:统一info()调用,不同子类不同显示。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第72卷 面向对象程序设计 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
1
第72卷 面向对象程序设计 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。