内容正文:
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第41、第42卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础:
1. 基本概念
2. Tkinter库
3. 面向对象程序设计
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第42卷
面向对象程序设计(1) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.下面哪个内建函数用于检查类之间的继承关系( )
A.isinstance() B.issubclass() C.hasattr() D.type()
【答案】B
2.子类继承父类的语法是( )
A.class SubClass: ParentClass
B.class SubClass(ParentClass)
C.class SubClass extends ParentClass
D.class SubClass from ParentClass
【答案】B
3.类属性__doc__的作用是( )
A.存储类文档字符串 B.记录实例数量
C.定义私有属性 D.初始化对象
【答案】A
4.下面关于类属性的描述,正确的是( )
A.类属性是每个实例独有的数据
B.类属性可通过实例直接修改
C.类属性与实例无关,用于共享数据
D.类属性必须通过self访问
【答案】C
5.类属性与实例属性的区别在于( )
A.类属性属于类,实例属性属于对象
B.实例属性不能修改
C.类属性必须通过实例访问
D.实例属性用于共享数据
【答案】A
6.下面哪个函数用于获取对象的属性字典( )
A.dir() B.vars() C.hasattr() D.setattr()
【答案】B
7.Python类默认继承的基类是( )
A.base B.root C.object D.class
【答案】C
8.下面哪项符合"is-a"关系(适合使用继承)( )
A."日期"与"交易明细" B."轿车"与"车辆"
C."学生"与"姓名" D."列表"与"元素"
【答案】B
9.定义Python类时,用于初始化实例属性的特殊方法是( )
A.__del__() B.__new__() C.__init__() D.__str__()
【答案】C
10.当实例的引用计数为0时,Python自动调用的方法是( )
A.__init__() B.__destroy__() C.__exit__() D.__del__()
【答案】D
二、填空题(本大题共5小题,每题4分,共20分)
11.object 是__________ (所有类的基类)。
【答案】万类之源
12.面向对象程序设计(oop)是以__________的程序设计方式。
【答案】数据为中心
13.面向对象编程是将__________作为程序的基本单元。
【答案】对象
14.类名遵循__________命名规则,其首字母通常采用大写形式。
【答案】标识符(变量)
15.类可以通过关键字__________来定义。
【答案】class
三、综合应用题(本大题共5小题,每题10分,共50分)
16.利用复选框实现选择兴趣爱好的功能,复选框如果没有选择任何选项,点击"OK"按钮后,标签显示您还没选择任何爱好项目,如果选择了选项,点击"OK"按钮后将选中的结果显示在标签,您选择了** **
【答案】from tkinter import *
import tkinter
root = tkinter.Tk()
root.title('复选框')
root.geometry("200x200")
lb1=Label(root,text='请选择您的爱好项目')
lb1.pack()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()
CheckVar4 = IntVar()
def run():
lst=[]
if CheckVar1.get() == 1: lst.append('足球')
if CheckVar2.get() == 1: lst.append('篮球')
if CheckVar3.get() == 1: lst.append('游泳')
if CheckVar4.get() == 1: lst.append('田径')
if len(lst)==0:
lb2.config(text='您还没选择任何爱好项目')
else:
lb2.config(text='您选择了'+" ".join(lst))
ch1 = Checkbutton(root,text='足球',variable = CheckVar1,onvalue=1,offvalue=0)
ch2 = Checkbutton(root,text='篮球',variable = CheckVar2,onvalue=1,offvalue=0)
ch3 = Checkbutton(root,text='游泳',variable = CheckVar3,onvalue=1,offvalue=0)
ch4 = Checkbutton(root,text='田径',variable = CheckVar4,onvalue=1,offvalue=0)
ch1.pack()
ch2.pack()
ch3.pack()
ch4.pack()
btn = Button(root,text="OK",command=run)
btn.pack()
lb2 = Label(root,text='')
lb2.pack()
root.mainloop()
17.设计一个填写喜欢课程的程序,如图所示将喜欢的课程添加到Listbox的列表框中,列表框可以进行多选(选择模式使用"multiple"属性)不能添加重复的选项,可以选择课程点击"删除"按钮进行删除。
【答案】from tkinter import *
root = Tk()
root.title("喜欢的课程")
root.geometry("300x300")
def add_item():
cont=e.get()
if cont not in lsb.get(0,'end') and cont!='' and not cont.isspace():
lsb.insert('end',cont)
def del_item():
# 1.获取用户想要删除的选项
lst1=[]
for i in lsb.curselection():
lst1.append(lsb.get(i))
# 2.获取列表框全部的选项并将用户删除的选项从中删除
lst2=list(lsb.get(0,'end'))
for i in lst1:
lst2.remove(i)
# 3.清空列表框
lsb.delete(0,'end')
# 4.将剩余的选项插入到列表框
for i in lst2:
lsb.insert('end',i)
f1=Frame(root)
f1.pack()
lb=Label(f1,text="请写出你喜欢的课程")
lb.pack()
lsb=Listbox(f1,selectmod='multiple')
lsb.pack()
f2=Frame(root)
f2.pack()
e=Entry(f2,width=10)
e.pack(side='left')
btn1=Button(f2,text="添加",command=add_item)
btn1.pack(side='left')
btn2=Button(f2,text="删除",command=del_item)
btn2.pack(side='left')
root.mainloop()
18.tkinter中三种布局方式的特点分别是什么?
【答案】pack( ) 是一种较为简单的布局方法,在不使用任何参数的情况下,它会将控件以添加时的先后顺序,自上而下,一行一行的进行排列
grid( ) 布局是一种基于网格式的布局管理方式,相当于把窗口看成由行和列组成的表格。当使用 grid 进行布局时,表格内的每个单元格都可以放置一个控件。从而实现对界面的布局管理。
与前两种布局方法相比,采用place( )方法进行布局管理要更加精细化,通过place( )布局管理器可以直接指定控件在窗体内的绝对位置,或者相对于其他控件定位的相对位置。
19.实现如下图所示的页面布局(窗口大小为300x200,其中Label标签的坐标为(30,10),输入框的坐标为(110,10))。
【答案】from tkinter import *
root=Tk()
root.title("place布局")
root.geometry("300x200")
lb1=Label(root,text="place布局")
lb1.place(x=30,y=10)
e1=Entry(root)
e1.place(x=110,y=10)
root.mainloop()
【详解】place() 布局通过 x 和 y 参数指定控件的绝对位置。
20.采用pack布局方式,实现如下图所示的页面布局(窗口大小为300x200)。
【答案】from tkinter import *
root=Tk()
root.title("pack布局")
root.geometry("300x200")
btn1=Button(root,text='按钮')
btn1.pack()
lb=Label(root,text="pack布局")
lb.pack()
root.mainloop()
【详解】在窗口中依次添加一个按钮和一个标签,按钮在上,标签在下。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第41、第42卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础:
1. 基本概念
2. Tkinter库
3. 面向对象程序设计
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第42卷
面向对象程序设计(1) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.下面哪个内建函数用于检查类之间的继承关系( )
A.isinstance() B.issubclass() C.hasattr() D.type()
2.子类继承父类的语法是( )
A.class SubClass: ParentClass
B.class SubClass(ParentClass)
C.class SubClass extends ParentClass
D.class SubClass from ParentClass
3.类属性__doc__的作用是( )
A.存储类文档字符串 B.记录实例数量
C.定义私有属性 D.初始化对象
4.下面关于类属性的描述,正确的是( )
A.类属性是每个实例独有的数据
B.类属性可通过实例直接修改
C.类属性与实例无关,用于共享数据
D.类属性必须通过self访问
5.类属性与实例属性的区别在于( )
A.类属性属于类,实例属性属于对象
B.实例属性不能修改
C.类属性必须通过实例访问
D.实例属性用于共享数据
6.下面哪个函数用于获取对象的属性字典( )
A.dir() B.vars() C.hasattr() D.setattr()
7.Python类默认继承的基类是( )
A.base B.root C.object D.class
8.下面哪项符合"is-a"关系(适合使用继承)( )
A."日期"与"交易明细" B."轿车"与"车辆"
C."学生"与"姓名" D."列表"与"元素"
9.定义Python类时,用于初始化实例属性的特殊方法是( )
A.__del__() B.__new__() C.__init__() D.__str__()
10.当实例的引用计数为0时,Python自动调用的方法是( )
A.__init__() B.__destroy__() C.__exit__() D.__del__()
二、填空题(本大题共5小题,每题4分,共20分)
11.object 是__________ (所有类的基类)。
12.面向对象程序设计(oop)是以__________的程序设计方式。
13.面向对象编程是将__________作为程序的基本单元。
14.类名遵循__________命名规则,其首字母通常采用大写形式。
15.类可以通过关键字__________来定义。
三、综合应用题(本大题共5小题,每题10分,共50分)
16.利用复选框实现选择兴趣爱好的功能,复选框如果没有选择任何选项,点击"OK"按钮后,标签显示您还没选择任何爱好项目,如果选择了选项,点击"OK"按钮后将选中的结果显示在标签,您选择了** **
17.设计一个填写喜欢课程的程序,如图所示将喜欢的课程添加到Listbox的列表框中,列表框可以进行多选(选择模式使用"multiple"属性)不能添加重复的选项,可以选择课程点击"删除"按钮进行删除。
18.tkinter中三种布局方式的特点分别是什么?
19.实现如下图所示的页面布局(窗口大小为300x200,其中Label标签的坐标为(30,10),输入框的坐标为(110,10))。
20.采用pack布局方式,实现如下图所示的页面布局(窗口大小为300x200)。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$