教育
-Python编程基础-章节资料考试资料-南开大学【】
1-01单元测试
1、【单选题】Python的优点不包括( )。
A、简单易学
B、免费开源
C、丰富的库
D、强制缩进
参考资料【 】
2、【单选题】使用Python进行系统编程时,利用( )可以方便地进行系统维护和管理。
A、API
B、Tkinter/PyQT
C、Numpy
D、DB-API
参考资料【 】
1-02单元测试
1、【单选题】( )是计算机完成的一个最基本的操作。
A、程序
B、指令
C、代码
D、命令
参考资料【 】
2、【单选题】Python程序在执行一次之后会自动生成扩展名为( )的字节码文件,以提高运行效率。
A、.py
B、.pyc
C、.pyb
D、.pyf
参考资料【 】
3、【判断题】Python语言环境的提示符是。
A、正确
B、错误
参考资料【 】
1-03单元测试
1、【单选题】在Python编程环境提示符下直接输入Python代码并执行的运行方式称为( )。
A、交互式运行
B、脚本式运行
C、代码式运行
D、即时式运行
参考资料【 】
2、【单选题】Python3.x环境创建Python脚本文件时,需要将文件编码格式设置为( )。
A、ANSI
B、GBK
C、UTF-8
D、UNICODE
参考资料【 】
3、【判断题】注释的作用是增强程序可读性,并不会实际运行。
A、正确
B、错误
参考资料【 】
1-04单元测试
1、【单选题】下列选项中,用于接收标准输入数据(即从键盘输入)、返回为string类型(字符串)的函数是( )。
A、eval
B、input
C、print
D、get
参考资料【 】
2、【单选题】下列选项中,用于将各种类型的数据(字符串、整数、浮点数、列表、字典等)输出到屏幕上的函数是( )。
A、eval
B、input
C、print
D、get
参考资料【 】
3、【判断题】调试是为了解决语法错误。
A、正确
B、错误
参考资料【 】
第一章单元测试
1、【单选题】Python程序在执行一次之后会自动生成扩展名为( )的字节码文件,以提高运行效率。
A、.py
B、.pyc
C、.pyb
D、.pyf
参考资料【 】
2、【单选题】Python3.x环境创建Python脚本文件时,需要将文件编码格式设置为( )。
A、ANSI
B、GBK
C、UTF-8
D、UNICODE
参考资料【 】
3、【单选题】下列选项中,用于将各种类型的数据(字符串、整数、浮点数、列表、字典等)输出到屏幕上的函数是( )。
A、eval
B、input
C、print
D、get
参考资料【 】
4、【多选题】Python是一种( )语言。
A、编译型语言
B、解释型语言
C、高级语言
D、低级语言
参考资料【 】
5、【多选题】Python的运行方式包括( )。
A、交互式运行
B、脚本式运行
C、代码式运行
D、即时式运行
参考资料【 】
6、【多选题】Python程序使用( )进行多行注释。
A、三个连续单引号
B、三个连续双引号
C、分号
D、井号
参考资料【 】
7、【多选题】下列选项中,属于IDLE窗口模式的是( )。
A、Shell
B、Script
C、Editor
D、Window
参考资料【 】
8、【判断题】解释是将源代码全部翻译成机器指令,再加上一些描述信息,生成可执行文件。
A、正确
B、错误
参考资料【 】
9、【判断题】Python程序中每条语句以分号结尾。
A、正确
B、错误
参考资料【 】
10、【判断题】程序执行时遇到断点就暂停执行,并且可以查看当前各变量的状态。
A、正确
B、错误
参考资料【 】
2-01单元测试
1、【单选题】下列选项中,( )不是常量。
A、12
B、35.7
C、‘Python’
D、abc
参考资料【 】
2、【单选题】通过语句“m,n=3,5”,定义了( )个变量。
A、0
B、1
C、2
D、报错
参考资料【 】
3、【判断题】Python中的变量在使用前必须先定义。
A、正确
B、错误
参考资料【 】
2-02单元测试
1、【单选题】执行“print(0o20)”,则在屏幕上会输出( )。
A、20
B、0o20
C、16
D、32
参考资料【 】
2、【单选题】执行“print(0x20)”,则在屏幕上会输出( )。
A、20
B、0x20
C、16
D、32
参考资料【 】
3、【判断题】1.25e3表示浮点数1250.0的科学记数法表示方式。
A、正确
B、错误
参考资料【 】
2-03单元测试
1、【单选题】下列选项中,执行时会报错的语句是( )。
A、int(‘23’)
B、int(‘23+1’)
C、int(‘23’,8)
D、int(‘2a’,16)
参考资料【 】
2、【单选题】下列选项中,执行时不会报错的语句是( )。
A、int(‘23.5’)
B、float(‘23.5+1’)
C、float(‘23.5’)
D、int(‘2a’,8)
参考资料【 】
3、【判断题】已知s=学习,则执行s[0]=‘复’后s中存储的字符串被修改为“复习”。
A、正确
B、错误
参考资料【 】
2-04单元测试
1、【单选题】下列选项中,描述错误的选项是( )。
A、列表中的元素类型必须相同
B、列表中的元素之间用逗号分隔
C、列表中的元素可以是列表类型
D、列表中可以包含数字类型的元素
参考资料【 】
2、【单选题】已知ls=[12,34.5,True,‘test’,3+5j],则下列选项中,输出结果为“[‘test’]”的选项是( )。
A、ls[3]
B、ls[4]
C、ls[3:4]
D、ls[4:5]
参考资料【 】
3、【判断题】通过下标“[]”不仅可以访问列表中的某个元素,还可以对元素进行修改。
A、正确
B、错误
参考资料【 】
2-05单元测试
1、【单选题】已知t=(12,34.5,True,‘test’,3+5j),则下列选项中,输出结果为“(‘test’,)”的选项是( )。
A、t[3]
B、t[4]
C、t[3:4]
D、t[4:5]
参考资料【 】
2、【多选题】已知t=(12,1.5,[True,3+5j]),则下列选项中,执行时不会报错的语句包括( )。
A、t[2]=1
B、t[2:]=1
C、t[2][1]=‘test’
D、print(t[2])
参考资料【 】
3、【判断题】通过下标“[]”不仅可以访问元组中的某个元素,还可以对元素进行修改。
A、正确
B、错误
参考资料【 】
2-06单元测试
1、【单选题】下列选项中,执行时会报错的语句是( )。
A、set(‘Python’)
B、set(35.2,True)
C、set([35.2,True])
D、set((35.2,True))
参考资料【 】
2、【单选题】下列选项中,执行时不会报错的语句是( )。
A、{[‘Python’,True]}
B、{3.5,[1.2,True]}
C、{3.5,{1.2,True}}
D、{3.5,1.2,True}
参考资料【 】
3、【判断题】通过“{}”可以创建一个空集合。
A、正确
B、错误
参考资料【 】
2-07单元测试
1、【单选题】下列选项中,错误的描述是( )。
A、字典中的每一个元素是一个键:值对
B、字典中不同元素的键不能相同
C、字典中不同元素的值不能相同
D、通过“{}”可以创建一个空字典
参考资料【 】
2、【单选题】下列选项中,不能创建字典对象的语句是( )。
A、{‘one’:1, ‘two’:2, ‘three’:3}
B、dict(‘one’:1, ‘two’:2, ‘three’:3)
C、dict([(‘one’,1), (‘two’,2), (‘three’,3)])
D、dict(zip([‘one’,‘two’,‘three’], [1,2,3]))
参考资料【 】
2-08单元测试
1、【单选题】下列占位运算符中,表示有符号整型十进制数的占位符是( )。
A、%d
B、%%
C、%f
D、%s
参考资料【 】
2、【单选题】34的运算结果为( )。
A、12
B、81
C、7
D、报错
参考资料【 】
2-09单元测试
1、【单选题】下列选项中,可以用于判断c中保存的字符是否是英文字母的表达式是( )。
A、c>=‘a’ and c<=‘Z’
B、c>=‘A’ and c<=‘z’
C、c>=‘a’ and c<=‘z’ and c>=‘A’ and c<=‘Z’
D、c>=‘a’ and c<=‘z’ or c>=‘A’ and c<=‘Z’
参考资料【 】
2、【单选题】已知a=15,则执行“a%=6”后,a的值为( )。
A、15
B、2.5
C、3
D、2
参考资料【 】
2-10单元测试
1、【单选题】十进制数37转为二进制数结果为( )。
A、100101B
B、101001B
C、100100B
D、100001B
参考资料【 】
2、【单选题】7^10的运算结果为( )。
A、17
B、15
C、13
D、2
参考资料【 】
2-11单元测试
1、【单选题】程序在运行时,输入数据和输出数据都是存放在( )中。
A、外存
B、内存
C、CPU
D、硬盘
参考资料【 】
2、【单选题】下列选项中,返回结果为True的表达式为( )。
A、1 in {‘ab’:1}
B、‘ab’ in ‘abc’
C、‘ac’ in ‘abc’
D、‘ab’ in [‘abc’,1]
参考资料【 】
2-12单元测试
1、【单选题】3*52的运算结果为( )。
A、30
B、225
C、75
D、报错
参考资料【 】
2、【单选题】已知x=5,则执行“x*=3+6”后,x的值为( )。
A、15
B、21
C、45
D、报错
参考资料【 】
3、【判断题】表达式a=b=1中两个运算符的运算顺序是从右至左。
A、正确
B、错误
参考资料【 】
2-13单元测试
1、【单选题】在绘制流程图时,条件判断应放在( )中。
A、圆角矩形
B、圆
C、矩形框
D、菱形框
参考资料【 】
2、【单选题】在绘制流程图时,只有( )后面允许有多个分支。
A、圆角矩形
B、圆
C、矩形框
D、菱形框
参考资料【 】
3、【判断题】伪代码必须符合Python语言的语法要求。
A、正确
B、错误
参考资料【 】
2-14单元测试
1、【单选题】下面程序的输出结果是( )。score=80if score60: print(‘成绩为%d’%score, end=’,’)print(‘不及格’)
A、成绩为80,不及格
B、成绩为80
C、不及格
D、无输出
参考资料【 】
2、【单选题】下面程序的输出结果是( )。score=80if score60: print(‘不及格’)else: pass
A、不及格
B、pass
C、报错
D、无输出
参考资料【 】
2-15单元测试
1、【单选题】已知有代码“for x in y:”,则y必然是一个( )。
A、可哈希对象
B、可迭代对象
C、列表对象
D、集合对象
参考资料【 】
2、【判断题】print(list(range(5)))的输出结果为“[0, 1, 2, 3, 4] ”。
A、正确
B、错误
参考资料【 】
2-16单元测试
1、【单选题】下面程序的输出结果是( )。m=5while(m0): m-=1print(m)
A、0
B、4
C、5
D、-1
参考资料【 】
2、【判断题】已知t=(5,10,15),则list(range(len(t)))的输出结果是[1, 2, 3]。
A、正确
B、错误
参考资料【 】
2-17单元测试
1、【单选题】用于跳出循环的命令是( )。
A、break
B、continue
C、else
D、pass
参考资料【 】
2、【单选题】用于结束本次循环并开始下一次循环的命令是( )。
A、break
B、continue
C、else
D、pass
参考资料【 】
第二章 编程练习2
第二章 编程练习
第二章 编程练习(第2轮开课补充)
第二章单元测试
1、【单选题】执行“print(0o20)”,则在屏幕上会输出( )。
A、20
B、0o20
C、16
D、32
参考资料【 】
2、【单选题】下列选项中,执行时会报错的语句是( )。
A、int(‘23’)
B、int(‘23+1’)
C、int(‘23’,8)
D、int(‘2a’,16)
参考资料【 】
3、【单选题】已知ls=[12,34.5,True,‘test’,3+5j],则下列选项中,输出结果为“[‘test’]”的选项是( )。
A、ls[3]
B、ls[4]
C、ls[3:4]
D、ls[4:5]
参考资料【 】
4、【单选题】下列选项中,不能创建字典对象的语句是( )。
A、{‘one’:1, ‘two’:2, ‘three’:3}
B、dict(‘one’:1, ‘two’:2, ‘three’:3)
C、dict([(‘one’,1), (‘two’,2), (‘three’,3)])
D、dict(zip([‘one’,‘two’,‘three’], [1,2,3]))
参考资料【 】
5、【单选题】下面程序的输出结果是( )。score=80if score60: print(‘成绩为%d’%score, end=’,’)print(‘不及格’)
A、成绩为80,不及格
B、成绩为80
C、不及格
D、无输出
参考资料【 】
6、【多选题】已知有代码“for x in y:”,则y的数据类型可以是( )。
A、列表
B、元组
C、数值
D、字符串
参考资料【 】
7、【多选题】下列选项中,+作为拼接运算符使用的表达式是( )。
A、[1.2]+[2.5]
B、1.2+2.5
C、‘abc’+‘def’
D、[1.2+2.5]
参考资料【 】
8、【多选题】下列选项中,可以用于判断x和y是否对应同样存储单元的语句是( )。
A、xy
B、x is y
C、id(x)id(y)
D、not x!=y
参考资料【 】
9、【多选题】已知两个数某个二进制位的值分别是0和1,结果位的值为1,则正在做的位运算可能为( )。
A、^
B、|
C、&
D、~
参考资料【 】
10、【多选题】下列占位运算符中,表示有符号浮点型十进制数的占位符是( )。
A、%f
B、%d
C、%F
D、%s
参考资料【 】
11、【判断题】已知s=学习,则执行s[0]=‘复’后s中存储的字符串被修改为“复习”。
A、正确
B、错误
参考资料【 】
12、【判断题】通过下标“[]”不仅可以访问元组中的某个元素,还可以对元素进行修改。
A、正确
B、错误
参考资料【 】
13、【判断题】执行“print(’%.2f%%’% 52.50)”,输出结果为“52.50%”。
A、正确
B、错误
参考资料【 】
14、【判断题】二进制数转十进制数的规则是“按权展开求和”。
A、正确
B、错误
参考资料【 】
15、【判断题】print(list(range(5)))的输出结果为“[0, 1, 2, 3, 4] ”。
A、正确
B、错误
参考资料【 】
3-01课堂测试
1、【单选题】在完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标,采用这种思想的程序设计方法称为( )程序设计方法。
A、面向对象
B、面向类
C、结构化
D、分解化
参考资料【 】
2、【判断题】Python中的函数定义通过define关键字完成。
A、正确
B、错误
参考资料【 】
3-02随堂测试
1、【单选题】定义函数时函数名后面的一对小括号中给出的参数称为( )。
A、实参
B、形参
C、类型参数
D、名字参数
参考资料【 】
2、【单选题】调用函数时函数名后面的一对小括号中给出的参数称为( )。
A、实参
B、形参
C、类型参数
D、名字参数
参考资料【 】
3-03随堂测试
1、【单选题】下面程序的输出结果是( )。def StudentInfo(country=‘中国’,name): print(’%s,%s’%(name,country))StudentInfo(‘美国’,‘大卫’)
A、大卫,美国
B、美国,大卫
C、大卫,中国
D、报错
参考资料【 】
2、【判断题】对于没有默认参数值的形参,在函数调用时必须为其指定实参。
A、正确
B、错误
参考资料【 】
3-04随堂测试
1、【单选题】不定长的位置参数在传递给函数时会被封装成( )。
A、元组
B、列表
C、集合
D、字典
参考资料【 】
2、【判断题】对于一个带不定长参数的函数,其普通形参可以有默认参数值。
A、正确
B、错误
参考资料【 】
3-05随堂测试
1、【单选题】已知函数调用Fun(**a),则a可能是( )。
A、元组
B、列表
C、集合
D、字典
参考资料【 】
2、【判断题】字典拆分出来的结果是作为关键字参数。
A、正确
B、错误
参考资料【 】
3-06随堂测试
1、【单选题】将一个函数的运算结果返回到函数调用的地方,应使用( )。
A、print
B、return
C、break
D、continue
参考资料【 】
2、【判断题】如果在一个函数中没有显示地写return语句,则该函数有一个隐式的什么数据都不返回的retrun语句。
A、正确
B、错误
参考资料【 】
3-07随堂测试
1、【单选题】当要使用一个模块中的某些功能时,我们可以通过( )语句将该模块导入。
A、include
B、import
C、export
D、load
参考资料【 】
2、【判断题】通过import语句一次只能导入一个模块。
A、正确
B、错误
参考资料【 】
3-08随堂测试
1、【单选题】一个脚本文件M.py单独执行时,其__name__变量的值为( )。
A、M
B、main
C、M.py
D、不存在
参考资料【 】
2、【判断题】每个模块中都有一个全局变量__name__。
A、正确
B、错误
参考资料【 】
3-09随堂测试
1、【单选题】已知M模块中有一个无参函数fun,且在脚本文件N.py中有“from M import fun”,则在N.py中调用M模块中fun函数的方式为( )。
A、fun()
B、N.fun()
C、M.fun()
D、N.M.fun()
参考资料【 】
2、【判断题】已知M模块中有两个函数f1和f2,则在脚本文件N.py中通过“from M import *”必然可以将M模块中的f1和f2导入。
A、正确
B、错误
参考资料【 】
3-10随堂测试
1、【单选题】已知在脚本文件N.py中有函数调用“A.B.C.d()”,则import语句的正确写法是( )。
A、from A.B import C
B、from A.B.C import d
C、import A.B.C
D、import A.B.C.d
参考资料【 】
2、【判断题】模块可以放在任何一个包或子包中。
A、正确
B、错误
参考资料【 】
3-11随堂测试
1、【单选题】第三方模块的获取与安装可以使用( )工具。
A、pip
B、get
C、install
D、setup
参考资料【 】
2、【判断题】猴子补丁是指在运行时动态替换已有的代码,而不需要修改原始代码。
A、正确
B、错误
参考资料【 】
3-12随堂测试
1、【单选题】一个函数中定义的变量是( )
A、局部变量
B、全局变量
C、静态变量
D、函数变量
参考资料【 】
2、【判断题】在一个函数中定义的变量在另一个函数中不能使用。
A、正确
B、错误
参考资料【 】
3-13随堂测试
1、【单选题】所有函数之外定义的变量是( )。
A、局部变量
B、全局变量
C、静态变量
D、文件变量
参考资料【 】
2、【判断题】在所有函数外定义的变量就是全局变量。
A、正确
B、错误
参考资料【 】
3-14随堂测试
1、【单选题】内层函数使用外层函数中定义的变量,应使用( )关键字。
A、local
B、nonlocal
C、global
D、nonglobal
参考资料【 】
2、【判断题】内层函数要使用外层函数定义的变量,必须使用nonlocal关键字。
A、正确
B、错误
参考资料【 】
3-15随堂测试
1、【单选题】递归函数是指( )。
A、在一个函数内部通过调用自己完成问题的求解
B、在一个函数内部通过不断调用其他函数完成问题的求解
C、一个函数不断被其他函数调用完成问题的求解
D、把函数作为参数的一种函数
参考资料【 】
2、【判断题】对于计算1+2+…+n的这个问题,可以设计递归函数完成求解。
A、正确
B、错误
参考资料【 】
3-16随堂测试
1、【单选题】高阶函数是指( )。
A、在一个函数内部通过调用自己完成问题的求解
B、在一个函数内部通过不断调用其他函数完成问题的求解
C、一个函数不断被其他函数调用完成问题的求解
D、把函数作为参数的一种函数
参考资料【 】
2、【判断题】lambda函数可以作为实参传给高阶函数的形参。
A、正确
B、错误
参考资料【 】
3-17随堂测试
1、【单选题】对于闭包,定义在外层函数中但由内层函数使用的变量称为( )。
A、外层变量
B、闭包变量
C、自由变量
D、约束变量
参考资料【 】
2、【判断题】外层函数中定义的局部变量被内层函数使用,则每调用一次外层函数则会形成一个闭包。
A、正确
B、错误
参考资料【 】
3-18随堂测试
1、【多选题】下列选项中,描述正确的是( )。
A、一个装饰器可以为多个函数注入代码
B、一个装饰器只可以为一个函数注入代码
C、一个函数可以注入多个装饰器的代码
D、一个函数只可以注入一个装饰器的代码
参考资料【 】
2、【判断题】装饰器的作用是在不修改已有函数情况下向已有函数注入代码。
A、正确
B、错误
参考资料【 】
第三章 编程练习
第三章 编程练习(第2轮开课补充)
第三章单元测试
1、【单选题】在完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标,采用这种思想的程序设计方法称为( )程序设计方法。
A、面向对象
B、面向类
C、结构化
D、分解化
参考资料【 】
2、【单选题】定义函数时函数名后面的一对小括号中给出的参数称为( )。
A、实参
B、形参
C、类型参数
D、名字参数
参考资料【 】
3、【单选题】下面程序的输出结果是( )。def StudentInfo(country=‘中国’,name): print(’%s,%s’%(name,country))StudentInfo(‘美国’,‘大卫’)
A、大卫,美国
B、美国,大卫
C、大卫,中国
D、报错
参考资料【 】
4、【单选题】不定长的位置参数在传递给函数时会被封装成( )。
A、元组
B、列表
C、集合
D、字典
参考资料【 】
5、【单选题】已知函数调用Fun(**a),则a可能是( )。
A、元组
B、列表
C、集合
D、字典
参考资料【 】
6、【单选题】将一个函数的运算结果返回到函数调用的地方,应使用( )。
A、print
B、return
C、break
D、continue
参考资料【 】
7、【单选题】当要使用一个模块中的某些功能时,我们可以通过( )语句将该模块导入。
A、include
B、import
C、export
D、load
参考资料【 】
8、【单选题】一个脚本文件M.py单独执行时,其__name__变量的值为( )。
A、M
B、main
C、M.py
D、不存在
参考资料【 】
9、【单选题】全局变量的作用域是( )。
A、从定义变量的位置到文件结束位置
B、从定义变量的位置到函数结束位置
C、所有函数
D、整个程序
参考资料【 】
10、【单选题】对于闭包,定义在外层函数中但由内层函数使用的变量称为( )。
A、外层变量
B、闭包变量
C、自由变量
D、约束变量
参考资料【 】
11、【多选题】下列选项中,描述错误的是( )。
A、函数的形参名和实参名必须完全相同
B、在函数体中为形参赋值会影响对应实参的值
C、如果实参是列表等对象时,可在函数体中通过形参修改实参列表中对应元素的值
D、当有多个形参时,各形参之间用逗号分隔
参考资料【 】
12、【多选题】下列选项中,描述错误的是( )。
A、对于有默认参数值的形参,在函数调用时可以不为其传实参
B、对于没有指定默认参数值的形参,如果在函数调用时没有为其传实参,则形参的值为None
C、对于有默认参数值的形参,如果在函数调用时为其指定实参,则该形参使用传入的实参值
D、如果多个形参具有默认参数值,则函数调用时这些形参或者都使用默认参数值或者都使用传入的实参值
参考资料【 】
13、【多选题】已知M模块中有两个函数f1和f2,则在脚本文件N.py中要导入M模块的f1和f2,正确的写法是( )。
A、from M import f1,f2
B、from M import f1 and f2
C、from M import *
D、from M import f1 as f2
参考资料【 】
14、【多选题】下列选项中,属于局部变量的是( )。
A、函数中定义的变量
B、函数的形参
C、函数外定义的变量
D、函数名
参考资料【 】
15、【多选题】下列选项中,描述正确的是( )。
A、一个函数的函数体中可以包含另一个函数的定义
B、一个函数的函数体中可以包含另一个函数的调用
C、一个函数的函数体中不可以包含另一个函数的定义
D、一个函数的函数体中不可以包含另一个函数的调用
参考资料【 】
16、【判断题】解释是将源代码全部翻译成机器指令,再加上一些描述信息,生成可执行文件。
A、正确
B、错误
参考资料【 】
17、【判断题】Python程序中每条语句以分号结尾。
A、正确
B、错误
参考资料【 】
18、【判断题】通过“{}”可以创建一个空集合。
A、正确
B、错误
参考资料【 】
19、【判断题】二进制数转十进制数的规则是“按权展开求和”。
A、正确
B、错误
参考资料【 】
20、【判断题】外层函数定义了局部变量x,如果内层函数只获取x的值、不修改x的值,则可以不使用nonlocal关键字。
A、正确
B、错误
参考资料【 】
4-01随堂测验
1、【单选题】面向对象方法的基本观点是一切系统都是由( )构成。
A、类
B、对象
C、函数
D、方法
参考资料【 】
2、【判断题】利用一个类可以创建多个对象,且每个对象可以存储不同的数据。
A、正确
B、错误
参考资料【 】
4-02随堂测验
1、【单选题】类中的( )对应一个类可以用来保存哪些数据。
A、属性
B、方法
C、数据
D、对象
参考资料【 】
2、【判断题】类的封装性是指将一个数据相关的属性封装在一起。
A、正确
B、错误
参考资料【 】
4-03随堂测验
1、【单选题】已知Student类是一个空类,则通过“Student.name=‘unknown’”语句增加的属性可以通过( )访问。
A、类名或对象名
B、仅类名
C、仅对象名
D、无法访问
参考资料【 】
2、【判断题】为一个对象动态绑定的新属性,只能通过该对象访问。
A、正确
B、错误
参考资料【 】
4-04随堂测验
1、【单选题】第一个参数对应类的实例对象的方法是( )。
A、类方法
B、静态方法
C、内置方法
D、普通方法
参考资料【 】
2、【判断题】已知类的普通方法func有3个形参且都没有默认参数值,则调用该方法时必须传入对应的3个实参。
A、正确
B、错误
参考资料【 】
4-05随堂测验
1、【单选题】已知一个类属性的名字是__id,则该属性是( )。
A、内置属性
B、私有属性
C、普通属性
D、外置属性
参考资料【 】
2、【判断题】已知Student类有一个属性__id,stu是Student类的对象,则通过“stu.__id=‘1810101’”可以将stu对象中的__id属性赋值为字符串’1810101’。
A、正确
B、错误
参考资料【 】
4-06随堂测验
1、【单选题】构造方法的方法名是( )。
A、construct
B、init
C、begin
D、start
参考资料【 】
2、【判断题】构造方法可以没有形参。
A、正确
B、错误
参考资料【 】
4-07随堂测验
1、【单选题】析构方法的方法名是( )。
A、destruct
B、term
C、del
D、end
参考资料【 】
2、【判断题】析构方法可以没有形参。
A、正确
B、错误
参考资料【 】
4-08随堂测验
1、【单选题】已知stu是Student类对象,则执行“print(stu)”时会自动执行Student类的( )方法。
A、init
B、str
C、format
D、print
参考资料【 】
2、【判断题】__str__方法的返回值可以是整数。
A、正确
B、错误
参考资料【 】
4-09随堂测验
1、【单选题】如果一个类C1通过继承已有类C而创建,则将C1称作( )。
A、子类
B、基类
C、父类
D、超类
参考资料【 】
2、【判断题】基于已有的类创建新的类是面向对象中的多态性。
A、正确
B、错误
参考资料【 】
4-10随堂测验
1、【单选题】如果已A和B作为父类定义子类C,则定义C时第一行代码正确的写法是( )。
A、class C:A,B
B、class C:A,C:B
C、class C(A,B)
D、class C(A),C(B)
参考资料【 】
2、【判断题】已知A类中定义了方法fa1和fa2,B类中定义了方法fb,A是B的子类,则B类中包含了3个方法。
A、正确
B、错误
参考资料【 】
4-11随堂测验
1、【单选题】在执行同样代码的情况下,系统会根据对象实际所属的类去调用相应类中的方法,这个特性是类的( )。
A、封装性
B、继承性
C、多态性
D、自适应性
参考资料【 】
2、【判断题】方法重写是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。
A、正确
B、错误
参考资料【 】
4-12随堂测验
1、【单选题】用于获取父类代理对象的方法是( )。
A、parent
B、proxy
C、delegate
D、super
参考资料【 】
2、【判断题】使用获取到的父类代理对象可以在子类中调用被重写的父类方法。
A、正确
B、错误
参考资料【 】
4-13随堂测验
1、【单选题】判断一个对象所属的类是否是指定类或指定类的子类,应使用内置函数( )。
A、isinstance
B、issubclass
C、type
D、isclass
参考资料【 】
2、【判断题】已知B是A的父类,a是A类的对象,b是B类的对象,则“isinstance(a,type(b))”返回结果为True。
A、正确
B、错误
参考资料【 】
4-14随堂测验
1、【单选题】类方法是指使用( )修饰的方法。
A、@classmethod
B、@class
C、@staticmethod
D、@static
参考资料【 】
2、【判断题】如果使用类的实例对象调用类方法,则类方法中的第一个参数指向该实例对象。
A、正确
B、错误
参考资料【 】
4-15随堂测验
1、【单选题】已知A类中__slots__定义为“slots=(‘a1’,‘a2’)”,B类没有__slots__定义,B是A的子类,则B类可以动态扩展的属性包括( )。
A、a1
B、a2
C、a1和a2
D、任意属性
参考资料【 】
4-16随堂测验
1、【单选题】为A类中的t属性定义一个获取属性值的方法(即getter),则应使用( )装饰器。
A、@property
B、@t.getter
C、@property.getter
D、t.property.getter
参考资料【 】
2、【判断题】如果一个属性只有用于获取属性值的getter方法,而没有用于设置属性值的setter方法,则该属性是一个只读属性。
A、正确
B、错误
参考资料【 】
第四章程序填空和程序改错
第四章 编程练习(第2轮开课补充)
第四章单元测试
1、【单选题】类中的( )对应一个类可以支持哪些操作。
A、属性
B、方法
C、数据
D、对象
参考资料【 】
2、【单选题】为A类中的t属性定义一个获取属性值的方法(即getter),则应使用( )装饰器。
A、@property
B、@t.getter
C、@property.getter
D、t.property.getter
参考资料【 】
3、【单选题】类方法的第一个形参对应( )。
A、类
B、对象
C、第一个实参
D、第二个实参
参考资料【 】
4、【单选题】判断一个类是否是另一个类的子类,应使用内置函数( )。
A、isinstance
B、issubclass
C、type
D、isclass
参考资料【 】
5、【单选题】在A类的某个方法中,“super()”等价于( )。
A、super(A)
B、super(A,self)
C、super(self)
D、super
参考资料【 】
6、【单选题】在执行同样代码的情况下,系统会根据对象实际所属的类去调用相应类中的方法,这个特性是类的( )。
A、封装性
B、继承性
C、多态性
D、自适应性
参考资料【 】
7、【单选题】下列选项中,描述正确的是( )。
A、父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法
B、父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性和方法
C、子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法
D、子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法
参考资料【 】
8、【单选题】已知stu1和stu2是Student类的两个对象,则执行“stu1stu2”时会自动执行Student类的( )方法。
A、gt
B、ge
C、lt
D、le
参考资料【 】
9、【单选题】析构方法的方法名是( )。
A、destruct
B、term
C、del
D、end
参考资料【 】
10、【单选题】已知通过“stu=Student(‘1810101’,‘李晓明’)”可以创建一个Student类对象并赋给stu,则创建该对象时所执行的构造方法的形参个数(不考虑不定长参数的情况)为( )。
A、1
B、2
C、3
D、4
参考资料【 】
11、【单选题】我们使用对象名调用类中的一个普通方法,则该普通方法至少有( )个参数。
A、0
B、1
C、2
D、3
参考资料【 】
12、【单选题】已知Student类是一个空类,则通过“Student.name=‘unknown’”语句增加的属性可以通过( )访问。
A、类名或对象名
B、仅类名
C、仅对象名
D、无法访问
参考资料【 】
13、【多选题】已知在A类中定义了方法fa,在B类中定义了属性b,在C类中定义了方法fc和属性c,A是B的父类,B是C的父类,则B类中的成员包括( )。
A、fa
B、b
C、fc
D、c
参考资料【 】
14、【多选题】下列选项中,描述正确的是( )。
A、在一个继承关系中只能有一个子类
B、在一个继承关系中只能有一个父类
C、一个类可能在一个继承关系中是子类、而在另一个继承关系中是父类
D、一个类可能在多个继承关系中是子类
参考资料【 】
15、【多选题】下列选项中,描述正确的是( )。
A、如果一个类属性名是以两个下划线开头,则该类属性是私有属性
B、类中的私有属性只能在类内访问
C、类中的私有属性可以在类外访问,但不能直接用私有属性名
D、类中的方法不可以有默认参数值
参考资料【 】
16、【多选题】下面选项中,描述正确的是( )。
A、可以基于一个已有类创建新类
B、定义类的同时必须定义好该类的所有属性和方法
C、定义一个类后还可以为其动态添加属性和方法
D、可以基于多个已有类创建新类
参考资料【 】
17、【判断题】如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。
A、正确
B、错误
参考资料【 】
18、【判断题】已知B是A的父类,b是B类的对象,则“Atype(b)”返回结果为True。
A、正确
B、错误
参考资料【 】
19、【判断题】使用获取到的父类代理对象可以在子类中调用被重写的父类方法。
A、正确
B、错误
参考资料【 】
20、【判断题】方法重写是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。
A、正确
B、错误
参考资料【 】
21、【判断题】如果一个子类有两个或更多父类,则这种继承关系称为多重继承。
A、正确
B、错误
参考资料【 】
5-01随堂测验
1、【判断题】对于不可变类型的对象a,可以通过“a=b”修改a的值。
A、正确
B、错误
参考资料【 】
2、【判断题】对于可变类型的对象a,通过“a=b”可以修改a的值,但赋值前和赋值后a所对应的内存地址可能会发生变化。
A、正确
B、错误
参考资料【 】
5-02随堂测验
1、【单选题】已知“a=list((1,2))+list((2,3))”,则a的值是( )。
A、[1,2,3]
B、[1,2,2,3]
C、(1,2,3)
D、(1,2,2,3)
参考资料【 】
2、【判断题】list函数返回的结果必然是一个列表。
A、正确
B、错误
参考资料【 】
5-03随堂测验
1、【单选题】已知“a=[1,2,3]”且“b=a”,则执行“a[1]=10”后,b的值为( )。
A、[10,2,3]
B、[1,10,3]
C、[1,2,10]
D、[1,2,3]
参考资料【 】
2、【单选题】已知“a=[1,2,3]”且“b=a[:]”,则执行“a[1]=10”后,b的值为( )。
A、[10,2,3]
B、[1,10,3]
C、[1,2,10]
D、[1,2,3]
参考资料【 】
5-04随堂测验
1、【单选题】通过列表中的( )方法可以根据指定值查找第一个匹配的列表元素的位置。
A、index
B、find
C、search
D、at
参考资料【 】
2、【判断题】已知“ls=[0,1,2,3,4,5,6,7,8,9]”,则“del ls[7:9]”与“ls[7:9]=[]”得到的ls中的元素相同。
A、正确
B、错误
参考资料【 】
5-05随堂测验
1、【单选题】计算列表ls中的元素个数应使用( )。
A、ls.count()
B、count(ls)
C、ls.len()
D、len(ls)
参考资料【 】
2、【判断题】通过“ls.max()”可以得到列表ls中最大元素的值。
A、正确
B、错误
参考资料【 】
5-06随堂测验
1、【单选题】已知“ls=[1,3,2,5]”,则执行“ls.sort()”后ls的值为( )。
A、[1,3,2,5]
B、[1,2,3,5]
C、[5,3,2,1]
D、[5,2,3,1]
参考资料【 】
2、【判断题】列表的sort方法的key参数接收的函数必须有返回值。
A、正确
B、错误
参考资料【 】
5-07随堂测验
1、【单选题】已知“a=tuple([1,2])+tuple([2,3])”,则a的值是( )。
A、[1,2,3]
B、[1,2,2,3]
C、(1,2,3)
D、(1,2,2,3)
参考资料【 】
2、【判断题】通过“max(t)”可以得到元组t中最大元素的值。
A、正确
B、错误
参考资料【 】
5-08随堂测验
1、【单选题】使用集合的update方法,要求传入的实参必须是( )。
A、元组
B、列表
C、可哈希对象
D、可迭代对象
参考资料【 】
2、【判断题】已知s={1,20,25},则通过“s.add([2,3])”可以向s中添加一个新的列表类型的元素。
A、正确
B、错误
参考资料【 】
5-09随堂测验
1、【单选题】如果要计算两个集合的交集,应使用集合中的( )方法。
A、intersection
B、union
C、difference
D、symmetric_difference
参考资料【 】
2、【判断题】已知s1和s2是两个集合,则“s1.issubset(s2)”与“s2.issuperset(s1)”返回结果必然相同。
A、正确
B、错误
参考资料【 】
5-10随堂测验
1、【单选题】已知“d1={‘age’:19}”,则执行“d1.fromkeys([‘sno’,‘name’])”后,d1中的元素个数为( )。
A、0
B、1
C、2
D、3
参考资料【 】
2、【单选题】已知“d1={‘age’:19}”,则执行“d2=d1.fromkeys([‘sno’,‘name’])”后,d2中的元素个数为( )。
A、0
B、1
C、2
D、3
参考资料【 】
5-11随堂测验
1、【单选题】使用字典中的( )方法可以一次插入多个元素。
A、add
B、update
C、push
D、insert
参考资料【 】
2、【判断题】已知执行“d=dict(sno=‘1810100’, name=‘李晓明’, age=19)”,则执行“r=del d[‘age’]”后,r的值为19。
A、正确
B、错误
参考资料【 】
5-12随堂测验
1、【单选题】已知“a=dict(x=1,y=2)”且“b=a”,则执行“a[‘y’]=10”后,则print(b)的输出结果为( )。
A、{x=1,y=10}
B、{x=1,y=2}
C、{‘x’:1,‘y’:10}
D、{‘x’:1,‘y’:2}
参考资料【 】
2、【判断题】如果字典a中包含可变类型的元素,则在用a给b赋值时,应使用copy模块的deepcopy函数,以使得a和b中各元素的取值具有完全的独立性。
A、正确
B、错误
参考资料【 】
5-13随堂测验
1、【单选题】已知“d=dict(x=1,y=2)”,则d.get(‘z’)返回的结果是( )。
A、None
B、default
C、null
D、报错
参考资料【 】
2、【判断题】已知d1和d2是两个字典对象,则直接执行“dMerge=dict(d1,d2)”与先执行“dMerge=d1.copy()”、再执行“dMerge.update(d2)”的效果完全相同。
A、正确
B、错误
参考资料【 】
5-14随堂测验
1、【单选题】已知“d=dict(x=1,y=2)”,则执行“d.clear()”后,“len(d)”返回的结果是( )。
A、0
B、1
C、2
D、报错
参考资料【 】
2、【判断题】通过“d.keys()”可以获取由字典d中所有键组成的一个对象。
A、正确
B、错误
参考资料【 】
5-15随堂测验
1、【单选题】从一个序列对象中取部分元素形成一个新的序列对象的操作被称作( )。
A、选择
B、切片
C、子序列
D、投影
参考资料【 】
2、【判断题】列表生成表达式的返回结果是一个列表。
A、正确
B、错误
参考资料【 】
5-16随堂测验
1、【单选题】生成器解决了使用列表存储数据可能存在的( )问题。
A、内存不足
B、访问速度慢
C、元素值不能重复
D、元素可修改
参考资料【 】
2、【判断题】借助yield关键字可以利用函数实现生成器的功能。
A、正确
B、错误
参考资料【 】
5-17随堂测验
1、【判断题】利用iter函数可以根据可迭代对象获取迭代器。
A、正确
B、错误
参考资料【 】
2、【判断题】能够使用next函数获取下一个元素值的对象都是迭代器。
A、正确
B、错误
参考资料【 】
第五章编程练习
第五章编程练习(第2轮开课补充)
第五章单元测试
1、【单选题】已知“a=list(‘my’)+list(‘book’)”,则a的值是( )。
A、’[‘m’,‘y’,‘b’,‘o’,‘k’]
B、[‘m’,‘y’,‘b’,‘o’,‘o’,‘k’]
C、‘mybook’
D、‘mybok’
参考资料【 】
2、【单选题】已知“a=[1,2,3]”且“b=a[:]”,则执行“a[1]=10”后,b的值为( )。
A、[10,2,3]
B、[1,10,3]
C、[1,2,10]
D、[1,2,3]
参考资料【 】
3、【单选题】已知“a=[1,[2,3]]”且“b=a[:]”,则执行“a[1]=10”后,b的值为( )。
A、[1,10]
B、[1,[2,3]]
C、[1,[10,3]]
D、报错
参考资料【 】
4、【单选题】通过列表中的( )方法可以将一个元素插入到列表的指定位置。
A、insert
B、append
C、add
D、push
参考资料【 】
5、【单选题】计算列表ls中的元素个数应使用( )。
A、ls.count()
B、count(ls)
C、ls.len()
D、len(ls)
参考资料【 】
6、【单选题】已知“ls=[1,3,2,5]”,则执行“ls.sort(reverse=True)”后ls的值为( )。
A、[1,3,2,5]
B、[1,2,3,5]
C、[5,3,2,1]
D、[5,2,3,1]
参考资料【 】
7、【单选题】已知“a=tuple(‘my’)+tuple(‘book’)”,则a的值是( )。
A、’(‘m’,‘y’,‘b’,‘o’,‘k’)
B、(‘m’,‘y’,‘b’,‘o’,‘o’,‘k’)
C、‘mybook’
D、‘mybok’
参考资料【 】
8、【单选题】使用集合的add方法,要求传入的实参必须是( )。
A、元组
B、列表
C、可哈希对象
D、可迭代对象
参考资料【 】
9、【单选题】如果要计算两个集合的对称差集,应使用集合中的( )方法。
A、intersection
B、union
C、difference
D、symmetric_difference
参考资料【 】
10、【单选题】已知“d1={‘age’:19}”,则执行“d2=d1.fromkeys([‘sno’,‘name’])”后,d1中的元素个数为( )。
A、0
B、1
C、2
D、3
参考资料【 】
11、【单选题】使用字典中的( )方法可以删除指定键的元素。
A、del
B、delete
C、pop
D、remove
参考资料【 】
12、【单选题】已知“a=dict(x=1,y=2)”且“b=a.copy()”,则执行“a[‘y’]=10”后,则print(b)的输出结果为( )。
A、{x=1,y=10}
B、{x=1,y=2}
C、{‘x’:1,‘y’:10}
D、{‘x’:1,‘y’:2}
参考资料【 】
13、【单选题】已知“t=tuple(range(0,10))”,则print(t[-1:3:-2])的结果是( )。
A、[9,7,5]
B、(9,7,5)
C、[9,7,5,3]
D、(9,7,5,3)
参考资料【 】
14、【多选题】使用集合的add方法,传入的实参可以是( )。
A、数字
B、元组
C、列表
D、字符串
参考资料【 】
15、【多选题】已知s1和s2是两个集合,则返回结果必然为True的选项包括( )。
A、s1.union(s2).issubset(s1)
B、s1.union(s2).issuperset(s1)
C、s1.difference(s2).issubset(s1)
D、s1.difference(s2).issuperset(s1)
参考资料【 】
16、【多选题】对于一个字典对象d,如果需要判断d中是否包含键为’x’的元素(包含返回True,不包含返回False),则可以使用的语句包括( )。
A、d.get(‘x’)!=None
B、d.get(‘x’)!=default
C、‘x’ in d
D、d.has(‘x’)
参考资料【 】
17、【多选题】下列选项中,描述正确的是( )。
A、所有迭代器都是可迭代对象
B、所有可迭代对象都是迭代器
C、通过“isinstance(x,Iterator)”可以判断x是否是迭代器
D、如果一个可迭代对象可以通过next函数不断获取下一个元素的值,则它是一个迭代器
参考资料【 】
18、【判断题】通过“min(ls)”可以得到列表ls中最小元素的值。
A、正确
B、错误
参考资料【 】
19、【判断题】已知“t=(True)”,则t是一个元组。
A、正确
B、错误
参考资料【 】
20、【判断题】已知s={1,20,25},则通过“s.add((2,3))”可以向s中添加一个新的元组类型的元素。
A、正确
B、错误
参考资料【 】
21、【判断题】已知s1和s2是两个集合,则执行“s1.union(s2)”后,s1中的元素是原来s1和s2两个集合中的元素的并集。
A、正确
B、错误
参考资料【 】
22、【判断题】能够使用next函数获取下一个元素值的对象都是迭代器。
A、正确
B、错误
参考资料【 】
6-01随堂测验
1、【判断题】使用三引号创建字符串时允许直接将字符串写成多行的形式。
A、正确
B、错误
参考资料【 】
2、【判断题】使用三引号创建字符串时不允许使用转义符。
A、正确
B、错误
参考资料【 】
6-02随堂测验
1、【判断题】使用strcmp函数可以进行字符串的比较。
A、正确
B、错误
参考资料【 】
6-03随堂测验
1、【单选题】已知“str='abcd’”,则“str.split(’’,2)”的返回结果是( )。
A、[‘a’,’’,‘b’,‘c’,‘d’]
B、[‘a’,‘b’,‘c’,‘d’]
C、[‘a’,’’,'bcd’]
D、[‘a’,‘b’,'cd’]
参考资料【 】
2、【单选题】已知“str=‘abcd’”,则“str.split(’’,2)”的返回结果是( )。
A、[‘a’,‘b’,‘c’,‘d’]
B、[‘a’,‘b’,‘cd’]
C、[‘a’,'bc*d’]
D、报错
参考资料【 】
6-04随堂测验
1、【单选题】已知“str=‘Python#C++##Python’”,则“str.find(‘Python’)”返回的结果是( )。
A、0
B、12
C、-1
D、报错
参考资料【 】
2、【判断题】已知“str=‘abcdefabc’”,则执行“str.replace(‘abc’,‘cba’)”后,str中保存的字符串为’cbadefcba’。
A、正确
B、错误
参考资料【 】
6-05随堂测验
1、【单选题】如果要去除字符串中的所有空格,可以使用字符串的( )方法。
A、strip
B、lstrip
C、rstrip
D、replace
参考资料【 】
2、【判断题】已知“str=‘Like’”,则执行“str.upper()”后,str保存的数据为字符串’LIKE’。
A、正确
B、错误
参考资料【 】
6-07随堂测验
1、【单选题】已知n=31,则“print(’%X’%n)”执行后的输出结果为( )。
A、31
B、1F
C、1f
D、37
参考资料【 】
2、【判断题】使用字符串的format方法进行字符串格式化时,替换字段在字符串中需要用一对大括号括起来。
A、正确
B、错误
参考资料【 】
6-08随堂测验
1、【单选题】与正则表达式“^ab[a-z]+c”匹配的字符串是( )。
A、abdec
B、abc
C、ab0c
D、cabc
参考资料【 】
2、【单选题】与正则表达式“^ab[a-z]?c”匹配的字符串是( )。
A、abdec
B、abc
C、ab0c
D、cabc
参考资料【 】
6-09随堂测验
1、【单选题】使用re.match函数进行正则表达式匹配时,如果要忽略大小写,则应在匹配选项中指定( )。
A、re.A
B、re.I
C、re.M
D、re.S
参考资料【 】
2、【判断题】使用re.match函数进行正则表达式匹配时,如果指定的匹配选项中包括re.MULTILINE,则会对每一行开头的若干字符作匹配。
A、正确
B、错误
参考资料【 】
6-10随堂测验
1、【判断题】re.search(r’pyKaTeX parse error: Undefined control sequence: \npython at position 86: …h(r'^py','puppy\̲n̲p̲y̲t̲h̲o̲n̲',re.M)返回的是一个Ma…”可以与任一以“ab”开头、以“c”结尾的字符串匹配。
A、正确
B、错误
参考资料【 】
20、【判断题】re.match(r’pyKaTeX parse error: Undefined control sequence: \Python at position 2789: …】 10、【多选题】已知在D:\̲P̲y̲t̲h̲o̲n̲目录下有一个test.dat文…’,‘puppy’)返回的是一个Match对象。
A、正确
B、错误
参考资料【 】
71、【判断题】正则表达式“\Aabc”与正则表达式“^abc”的功能相同,都用于匹配以abc开头的字符串。
A、正确
B、错误
参考资料【 】
72、【判断题】‘os.path.join(’.’,‘src’,‘tools’)与’.{0}src{0}tools’.format(os.sep)返回的字符串相同。
A、正确
B、错误
参考资料【 】
73、【判断题】如果一个异常无法被任何的except子句捕获,则程序会抛出该异常并停止。
A、正确
B、错误
参考资料【 】
74、【判断题】如果一个except子句捕获多个异常,则多个异常名应写为元组的形式。
A、正确
B、错误
参考资料【 】
75、【判断题】已知有语句“assert num==0”,则当num的值为0时会引发AssertionError异常。
A、正确
B、错误
参考资料【 】
[渝粤教育] 南开大学 Python编程基础 参考 资料
![](https://img-home.csdnimg.cn/images/20240711042549.png)