22春学期(高起本1709-1803、全层次1809-2103)《Python编程基础》在线作业-00003
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.下列选项中,可以用于判断c中保存的字符是否是英文字母的表达式是( )。
A.c>='a' and c<='Z'
B.c>='A' and c<='z'
C.c>='a' and c='A' and c<='Z
D.c>='a' and c='A' and c<='Z'
2.用于获取父类代理对象的方法是( )。
A.parent
B.proxy
C.delegate
D.super
3.下面程序的输出结果是( )。 score=80 if score<60: print('不及格') else: pass
A.不及格
B.pass
C.报错
D.无输出
4.已知“a=[1,[2,3]]”且“b=a[:]”,则执行“a[1]=10”后,b的值为( )。
A.[1,10]
B.[1,[2,3]]
C.[1,[10,3]]
D.报错
5.执行“print(0o20)”,则在屏幕上会输出( )。
A.20
B.0o20
C.16
D.32
6.析构方法的方法名是( )。
A.__destruct__
B.__term__
C.__del__
D.__end__
7.已知“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}
8.已知m是一个Match对象,则m.group(1)返回的结果必然是一个( )。
A.字符串
B.元组
C.列表
D.不确定
9.用于跳出循环的命令是( )。
A.break
B.continue
C.else
D.pass
10.下列选项中,不能创建字典对象的语句是( )。
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]))
11.执行“print(0x20)”,则在屏幕上会输出( )。
A.20
B.0x20
C.16
D.32
12.程序在运行时,输入数据和输出数据都是存放在( )中。
A.外存
B.内存
C.CPU
D.硬盘
13.已知A类中__slots__定义为“__slots__=('a1','a2')”,B类没有__slots__定义,B是A的子类,则B类可以动态扩展的属性包括( )。
A.a1
B.a2
C.a1和a2
D.任意属性
14.局部变量的作用域是( )。
A.从定义变量的位置到文件结束位置
B.从定义变量的位置到函数结束位置
C.所有函数
D.所有文件
15.已知“a=dict(x=1,y=dict(y1=2,y2=3))”且“b=a.copy()”,则执行“a['y']['y1']=10”后,则print(b)的输出结果为( )。
A.{x=1,y={y1=10,y2=3}}
B.{x=1,y={y1=2,y2=3}}
C.{'x':1,'y':{'y1':10,'y2':3}}
D.{'x':1,'y':{'y1':2,'y2':3}}
16.下列选项中,描述正确的是( )。
A.一个递归函数中必须有循环语句
B.一个函数的函数体中只能调用其他函数、不能调用自己
C.所有问题都可以使用递归方式求解
D.递归函数调用层数太多有可能引起栈溢出的问题
17.在完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标,采用这种思想的程序设计方法称为( )程序设计方法。
A.面向对象
B.面向类
C.结构化
D.分解化
18.下列选项中,执行时会报错的语句是( )。
A.int('23')
B.int('23+1')
C.int('23',8)
D.int('2a',16)
19.下面文件文件打开方式中,不能对打开的文件进行写操作的是( )。
A.w
B.wt
C.r
D.a
20.递归函数是指( )。
A.在一个函数内部通过调用自己完成问题的求解
B.在一个函数内部通过不断调用其他函数完成问题的求解
C.一个函数不断被其他函数调用完成问题的求解
D.把函数作为参数的一种函数
二、多选题 (共 10 道试题,共 20 分)
21.下列选项中,可哈希的数据类型包括( )。
A.数字
B.集合
C.列表
D.字符串
22.Python中的字符串可以写在( )中。
A.一对井号中
B.一对尖括号中
C.一对单引号中
D.一对双引号中
23.已知函数调用Fun(*a),则a可能是( )。
A.元组
B.列表
C.集合
D.字典
24.已知“d=dict(sno='1810100', name='李晓明', age=19)”,下列选项中能够删除键为age的元素的代码是( )。
A.del('age')
B.del d['age']
C.pop('age')
D.remove('age')
25.使用集合的update方法,传入的实参可以是( )。
A.数字
B.元组
C.列表
D.字符串
26.下列选项中,可迭代的数据类型包括( )。
A.数字
B.元组
C.列表
D.字符串
27.下列选项中,描述错误的是( )。
A.函数的形参名和实参名必须完全相同
B.在函数体中为形参赋值会影响对应实参的值
C.如果实参是列表等对象时,可在函数体中通过形参修改实参列表中对应元素的值
D.当有多个形参时,各形参之间用逗号分隔
28.下面选项中,描述正确的是( )。
A.根据一个类可以创建多个对象
B.一个对象只能是某个类的对象
C.一个对象可以是多个类的对象
D.Python中的int、float等基本数据类型都是类
29.下列选项中,描述正确的是( )。
A.在一个继承关系中只能有一个子类
B.在一个继承关系中只能有一个父类
C.一个类可能在一个继承关系中是子类、而在另一个继承关系中是父类
D.一个类可能在多个继承关系中是子类
30.如果一个类C1通过继承已有类C而创建,则将C称作( )。
A.子类
B.基类
C.父类
D.超类
三、判断题 (共 20 道试题,共 40 分)
31.二进制数转十进制数的规则是“按权展开求和”。
32.print(list(range(5)))的输出结果为“[0, 1, 2, 3, 4] ”。
33.如果一个属性只有用于获取属性值的getter方法,而没有用于设置属性值的setter方法,则该属性是一个只读属性。
34.类的封装性是指将一个数据相关的属性封装在一起。
35.利用iter函数可以根据可迭代对象获取迭代器。
36.通过“min(ls)”可以得到列表ls中最小元素的值。
37.基于已有的类创建新的类是面向对象中的多态性。
38.通过import语句一次只能导入一个模块。
39.如果使用类的实例对象调用类方法,则类方法中的第一个参数指向该实例对象。
40.已知B是A的父类,b是B类的对象,则“A==type(b)”返回结果为True。
41.如果一个子类有两个或更多父类,则这种继承关系称为多重继承。
42.列表的sort方法的key参数接收的函数必须有返回值。
43.如果一个异常无法被任何的except子句捕获,则程序会抛出该异常并停止。
44.已知类的普通方法func有3个形参且都没有默认参数值,则调用该方法时必须传入对应的3个实参。
45.不能使用数字索引形式的下标可以访问字典中的元素。
46.对于不可变类型的对象a,可以通过“a=b”修改a的值。
47.变量的作用域是指在哪些地方可以使用这个变量。
48.已知A类中定义了方法fa1和fa2,B类中定义了方法fb,A是B的子类,则B类中包含了3个方法。
49.通过“ls.max()”可以得到列表ls中最大元素的值。
50.已知MyModule模块中有一个无参函数fun,且在脚本文件N.py中有“import MyModule as M”,则在N.py中要调用MyModule模块中的fun函数应使用“M.fun()”。