第47卷 面向对象程序设计(4)安徽省分类招生和对口招生考试-电子与信息大类《计算机编程基础—Python语言双析卷》

2026-04-28
| 2份
| 13页
| 50人阅读
| 0人下载

内容正文:

编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。 本专辑第47、第48卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础: 1. 基本概念 2. Tkinter库 3. 面向对象程序设计 安徽省分类招生和对口招生考试 电子与信息大类 《计算机编程基础—Python 语言》考点双析卷 第47卷 面向对象程序设计(4) 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共10小题,每题3分,共30分) 1.以下关于Python中类属性的描述,正确的是(   ) A.类属性只能通过类来访问 B.类属性只能通过实例来访问 C.类属性和实例属性不能共存 D.类属性可以被实例继承 2.在Python中,如何访问一个对象的属性(   ) A.对象名.属性名 B.对象名[属性名] C.对象名('属性名') D.getattr(对象名, 属性名) 3.以下关于Python中多态的描述,正确的是(   ) A.多态允许不同类的对象对同一消息作出响应 B.多态只能在一个类中实现 C.多态只能在继承关系中实现 D.多态不允许使用继承 4.在Python中,如何定义一个方法(   ) A.在类中使用`def`关键字 B.在类中使用`class`关键字 C.在类中使用`static`关键字 D.在类中使用`function`关键字 5.在Python中,以下代码的输出结果是(   ) class MyClass:     def __init__(self, value):         self.value = value     def __add__(self, other):         return self.value + other.value a = MyClass(5) b = MyClass(3) print(a + b) A.8 B.5 C.3 D.报错,因为类中没有定义__add__方法 6.以下关于Python类的构造方法和析构方法的说法正确的是(   ) A.构造方法__init__()在创建对象时被自动调用,用于初始化对象的属性 B.析构方法__del__()需要在程序中显式调用,用于释放对象资源 C.构造方法和析构方法都可以被重载多次 D.构造方法的参数列表中,self参数是可选的 7.tkinter 布局中,被称为网格布局的是(   ) A.grid B.place C.pack D.以上都不是 8.以下关于Python中继承的描述,正确的是(   ) A.子类可以覆盖父类的方法 B.子类不能覆盖父类的方法 C.子类可以访问父类的私有成员 D.子类不能访问父类的私有成员 9.以下哪个选项描述了Python中私有属性的特点(   ) A.私有属性以单下划线开头 B.私有属性以双下划线开头 C.私有属性不能在类外部访问 D.以上都正确 10.以下关于Python中构造函数的描述,正确的是(   ) A.构造函数名必须与类名相同 B.构造函数名必须以双下划线开头和结尾 C.构造函数没有参数时,必须使用`__init__`这个名字 D.以上都正确 二、填空题(本大题共5小题,每题4分,共20分) 11.属性按所属的对象可以分为__________和__________。 12.如果想要获取用户在 wx.TextCtrl 中按下回车键时输入的文本,在事件处理函数中可以通过 event.GetString() 方法获得,这个事件类型是 ______。 13.可以被勾选或取消勾选,用于表示“是/否”、“开/关”状态的组件是 ______。 14.在 wx.ListCtrl (报告样式) 中,要修改某一行某一列的内容,应使用 ______ 方法。 15.根据文件中的“程序填空题”,当鼠标左键抬起时,要在当前位置创建一个按钮,wx.Button() 构造函数的第一个参数(父窗口)应该传入 ______。 三、综合应用题(本大题共5小题,每题10分,共50分) 16.下面是一个倒计时的程序:倒计时60秒,字体为微软雅黑、50号、加粗。字体颜色红色。 17.请解释 Python 中的类(Class)是什么? 18.使用 sqlite3、tkinter,实现建立表结构的功能。连接数据库文件“test.db”,在数据库文件'test.db”中创建“个人信息”数据表,此表的列名及对应的数据类型,在GUI界面中操作完成。初始化界面,如图1所示。运行效果,如图2所示。每次只设计一个列的列名及对应的数据类型,此列设计完成后,要单击“建立表列”按钮。当数据表中所有的列都设计完成后,再单击“提交生成”按钮。根据上述题意要求,编写程序,实现界面显示及功能。(注:界面中各元素的大小、颜色及位置,线条的粗细等不作硬性要求)                   图1                                    图2 19.利用Listbox实现简单的搜索功能,当搜索条件为空时,搜索结果显示所有人,效果如图所示。    20.设计一个询问是否买手机的对话框。要求:设计一个Text控件(字体颜色为"红色",字体名称为"隶书",字体大小为14)。设计一个询问对话框(询问内容为"买一个手机?")。单击询问对话框的"是"按钮,Text控件中显示"好的,买一个手机!",单击"否"按钮,显示"不买手机!"。        试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。 本专辑第47、第48卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础: 1. 基本概念 2. Tkinter库 3. 面向对象程序设计 安徽省分类招生和对口招生考试 电子与信息大类 《计算机编程基础—Python 语言》考点双析卷 第47卷 面向对象程序设计(4) 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共10小题,每题3分,共30分) 1.以下关于Python中类属性的描述,正确的是(   ) A.类属性只能通过类来访问 B.类属性只能通过实例来访问 C.类属性和实例属性不能共存 D.类属性可以被实例继承 【答案】A 2.在Python中,如何访问一个对象的属性(   ) A.对象名.属性名 B.对象名[属性名] C.对象名('属性名') D.getattr(对象名, 属性名) 【答案】A 3.以下关于Python中多态的描述,正确的是(   ) A.多态允许不同类的对象对同一消息作出响应 B.多态只能在一个类中实现 C.多态只能在继承关系中实现 D.多态不允许使用继承 【答案】A 4.在Python中,如何定义一个方法(   ) A.在类中使用`def`关键字 B.在类中使用`class`关键字 C.在类中使用`static`关键字 D.在类中使用`function`关键字 【答案】A 5.在Python中,以下代码的输出结果是(   ) class MyClass:     def __init__(self, value):         self.value = value     def __add__(self, other):         return self.value + other.value a = MyClass(5) b = MyClass(3) print(a + b) A.8 B.5 C.3 D.报错,因为类中没有定义__add__方法 【答案】A 【详解】a的值为5,b的值为3 因此a+b的值为8。 6.以下关于Python类的构造方法和析构方法的说法正确的是(   ) A.构造方法__init__()在创建对象时被自动调用,用于初始化对象的属性 B.析构方法__del__()需要在程序中显式调用,用于释放对象资源 C.构造方法和析构方法都可以被重载多次 D.构造方法的参数列表中,self参数是可选的 【答案】A 【详解】析构方法__del__()需要在程序中隐式调用,构造方法只会被重载一次。构造方法的参数列表中,self参数是必须的。 7.tkinter 布局中,被称为网格布局的是(   ) A.grid B.place C.pack D.以上都不是 【答案】A 【详解】Tkinter 中的 grid 布局被称为网格布局。 8.以下关于Python中继承的描述,正确的是(   ) A.子类可以覆盖父类的方法 B.子类不能覆盖父类的方法 C.子类可以访问父类的私有成员 D.子类不能访问父类的私有成员 【答案】A 9.以下哪个选项描述了Python中私有属性的特点(   ) A.私有属性以单下划线开头 B.私有属性以双下划线开头 C.私有属性不能在类外部访问 D.以上都正确 【答案】D 10.以下关于Python中构造函数的描述,正确的是(   ) A.构造函数名必须与类名相同 B.构造函数名必须以双下划线开头和结尾 C.构造函数没有参数时,必须使用`__init__`这个名字 D.以上都正确 【答案】D 二、填空题(本大题共5小题,每题4分,共20分) 11.属性按所属的对象可以分为__________和__________。 【答案】 类属性 实例属性 12.如果想要获取用户在 wx.TextCtrl 中按下回车键时输入的文本,在事件处理函数中可以通过 event.GetString() 方法获得,这个事件类型是 ______。 【答案】wx.EVT_TEXT_ENTER 13.可以被勾选或取消勾选,用于表示“是/否”、“开/关”状态的组件是 ______。 【答案】wx.CheckBox 14.在 wx.ListCtrl (报告样式) 中,要修改某一行某一列的内容,应使用 ______ 方法。 【答案】SetItem() 15.根据文件中的“程序填空题”,当鼠标左键抬起时,要在当前位置创建一个按钮,wx.Button() 构造函数的第一个参数(父窗口)应该传入 ______。 【答案】self.panel 三、综合应用题(本大题共5小题,每题10分,共50分) 16.下面是一个倒计时的程序:倒计时60秒,字体为微软雅黑、50号、加粗。字体颜色红色。 【答案】from tkinter import * root=Tk() root.title("倒计时") root.geometry("320x200") lb=Label(root,font=("微软雅黑",50,"bold"),fg='red') lb.pack() flag=True t=60 def ks():     global flag,t     if flag:         lb.config(text=t)         t -= 1         if t==-1:             return         root.after(1000,ks)     else:         flag=True def zt():     global flag     flag=False Button(root,text="开始",command=ks).pack(side="left",padx=50) Button(root,text="暂停",command=zt).pack(side="left") Button(root,text="退出",command=root.destroy).pack(side="left",padx=50) root.mainloop() 17.请解释 Python 中的类(Class)是什么? 【答案】类是面向对象编程中的一个概念,它定义了一组具有相同特征和行为的对象。类是一个蓝图,它描述了对象的属性(也称为成员变量)和方法(也称为成员函数)。在 Python 中,类是通过使用类关键字 `class` 定义的。 18.使用 sqlite3、tkinter,实现建立表结构的功能。连接数据库文件“test.db”,在数据库文件'test.db”中创建“个人信息”数据表,此表的列名及对应的数据类型,在GUI界面中操作完成。初始化界面,如图1所示。运行效果,如图2所示。每次只设计一个列的列名及对应的数据类型,此列设计完成后,要单击“建立表列”按钮。当数据表中所有的列都设计完成后,再单击“提交生成”按钮。根据上述题意要求,编写程序,实现界面显示及功能。(注:界面中各元素的大小、颜色及位置,线条的粗细等不作硬性要求)                   图1                                    图2 【答案】from tkinter import * import sqlite3 root=Tk() root.title('建立表结构') root.geometry('300x200') lst=[] # 添加字段 def bl():     dic={1:'integer',2:'float',3:'text'}     lst.append(e.get()+" "+dic[v.get()]) def tj():     conn = sqlite3.connect('test.db')     cur = conn.cursor()     cur.execute(f"create table 个人信息({','.join(lst)})")     conn.commit()     cur.close()     conn.close() Label(root,text="数据表列的列名:").grid(row=0,column=0) e=Entry(root) e.grid(row=0,column=1,columnspan=3) Label(root,text="表列的数据类型:").grid(row=1,column=0) v=IntVar() Radiobutton(root,text="整数",variable=v,value=1).grid(row=1,column=1) Radiobutton(root,text="浮点",variable=v,value=2).grid(row=1,column=2) Radiobutton(root,text="字符串",variable=v,value=3).grid(row=1,column=3) Button(root,text="建立表列",command=bl).grid(row=2,column=0) Button(root,text="提交生成",command=tj).grid(row=2,column=1) root.mainloop() 19.利用Listbox实现简单的搜索功能,当搜索条件为空时,搜索结果显示所有人,效果如图所示。    【答案】from tkinter import * root = Tk() root.geometry("240x220") root.title("搜索") list=["小李", "老聂", "小红", "张三","李四","王五","小王"] lsb=Listbox(root) lsb.grid(row=0,column=1,columnspan=2) def searchBoll():     lsb.delete(0,'end')     if entry.get()=='' or entry.get().isspace():         for i in list:             lsb.insert('end',i)     else:         for i in list:             if entry.get() in i:                 lsb.insert('end',i) lab=Label(root,text="名称") lab.grid(row=1,column=0) btn=Button(root,text="搜索",command=searchBoll) btn.grid(row=1,column=3) entry=Entry(root) entry.grid(row=1,column=1) root.mainloop() 20.设计一个询问是否买手机的对话框。要求:设计一个Text控件(字体颜色为"红色",字体名称为"隶书",字体大小为14)。设计一个询问对话框(询问内容为"买一个手机?")。单击询问对话框的"是"按钮,Text控件中显示"好的,买一个手机!",单击"否"按钮,显示"不买手机!"。        【答案】import tkinter.messagebox import tkinter as tk top=tk.Tk() top.title("Python GUI") top.geometry("240x250+10+10") res=tkinter.messagebox.askquestion("对话框","买一个手机?") txt=tk.Text(top,font=("隶书",14),fg='red') txt.pack() print(res) if res=='yes':     txt.insert('0.0',"好的,买一个手机!") else:     txt.insert('0.0',"不买手机!") top.mainloop() 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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