20秋学期(1709、1803、1809、1903、1909、2003、2009 )《Python编程基础》在线作业
试卷总分:100 得分:90
一、单选题 (共 20 道试题,共 40 分)
1.已知m是一个Match对象,则m.groups()返回的结果必然是一个( )。
A.字符串
B.元组
C.列表
D.不确定
2.已知“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]
3.构造方法的方法名是( )。
A.__construct__
B.__init__
C.__begin__
D.__start__
4.从一个序列对象中取部分元素形成一个新的序列对象的操作被称作( )。
A.选择
B.切片
C.子序列
D.投影
如果已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)
6.当要使用一个模块中的某些功能时,我们可以通过( )语句将该模块导入。
A.include
B.import
C.export
D.load
7.不定长的位置参数在传递给函数时会被封装成( )。
A.元组
B.列表
C.集合
D.字典
8.已知“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]
判断一个对象所属的类是否是指定类或指定类的子类,应使用内置函数( )。
A.isinstance
B.issubclass
C.type
D.isclass
10.已知“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}
11.已知“str=’Python#C++##Python’”,则“str.find(‘Python’)”返回的结果是( )。
A.0
B.12
C.-1
D.报错
12.类方法是指使用( )修饰的方法。
A.@classmethod
B.@class
C.@staticmethod
D.@static
13.调用函数时函数名后面的一对小括号中给出的参数称为( )。
A.实参
B.形参
C.类型参数
D.名字参数
14.所有函数之外定义的变量是( )。
A.局部变量
B.全局变量
C.静态变量
D.文件变量
15.下面选项中,描述错误的是( )。
A.如果要创建的目录已经存在,则os.mkdir函数会报错
B.如果要创建的目录已经存在,则os.makedirs函数不会报错
C.如果要删除的目录不存在,则os.rmdir函数会报错
D.如果要删除的目录已存在但目录不为空,则os.rmdir函数会报错
16.下面程序的输出结果是( )。 m=5 while(m==0): m-=1 print(m)
A.0
B.4
C.5
D.-1
如果return后面有多个数据,则这多个数据会封装成( )返回。
A.元组
B.列表
C.集合
D.字典
18.已知Student类是一个空类,stu1和stu2是Student类的两个对象,则通过“stu1.name=’李晓明’”语句增加的属性可以通过( )访问。
A.Student.name、stu1.name或stu2.name
B.Student.name或stu1.name
C.stu1.name或stu2.name
D.stu1.name
19.判断一个类是否是另一个类的子类,应使用内置函数( )。
A.isinstance
B.issubclass
C.type
D.isclass
20.已知在脚本文件N.py中有函数调用“B.c()”,其中B是A包中的模块,则import语句的正确写法是( )。
A.from A import B
B.from A.B import c
C.import A.B
D.import A.B.c
二、多选题 (共 10 道试题,共 20 分)
已知函数调用Fun(*a),则a可能是( )。
A.元组
B.列表
C.集合
D.字典
22.下列选项中,属于IDLE窗口模式的是( )。
A.Shell
B.Script
C.Editor
D.Window
23.下列选项中,计算结果为True的表达式包括( )。
A.15>=8
B.not 15<8
C.15>=8 or 15<8
D.15>=8 and 15<8
24.与正则表达式“”匹配的字符串包括( )。
A.
B.
C.
D.<>
如果一个类C1通过继承已有类C而创建,则将C称作( )。
A.子类
B.基类
C.父类
D.超类
26.下列选项中,描述正确的是( )。
A.将一个函数赋给形参后,则可以用形参名代替函数名完成函数调用
B.将一个函数赋给变量后,则可以用变量名代替函数名完成函数调用
C.lambda函数没有函数名
D.lambda函数不能有返回值
27.已知s1和s2是两个集合,则返回结果必然为True的选项包括( )。
A.s1.symmetric_difference(s2).issubset(s1)
B.s1.symmetric_difference(s2).issuperset(s1)
C.s1.intersection(s2).issubset(s1)
D.s1.intersection(s2).issubset(s2)
下列选项中,描述正确的是( )。
A.一个装饰器可以为多个函数注入代码
B.一个装饰器值可以为一个函数注入代码
C.一个函数可以注入多个装饰器的代码
D.一个函数值可以注入一个装饰器的代码
29.下列关于闭包的描述中,正确的是( )。
A.外层函数的某个局部变量如果在内层函数中使用,则外层函数执行结束时该局部变量并不会被释放
B.外层函数的返回值是内层函数的名字
C.闭包会将内层函数的代码和自由变量打包在一起
D.一个函数通过多次调用可形成多个闭包,且每个闭包可以有不同的上下文环境
30.下列选项中,能够生成列表[1,3,5]的语句包括( )。
A.list(range(1,7,2))
B.list(range(1,5,2))
C.[x for x in range(7) if x%2!=0]
D.[2*x+1 for x in range(3)]
三、判断题 (共 20 道试题,共 40 分)
31.使用获取到的父类代理对象可以在子类中调用被重写的父类方法。
已知m是一个Match对象,则m.start(0)返回的是第1个分组的匹配结果字符串在原字符串中的开始位置。
33.每一个流程图都必须有“开始”和“结束”,从“开始”出发,经过任何处理后必然能到达“结束”。
34.通过“max(t)”可以得到元组t中最大元素的值。
35.使用字符串的format方法进行字符串格式化时,替换字段在字符串中需要用一对大括号括起来。
36.执行print(‘d:\\Python’),则会在屏幕上输出“d:\Python”。
37.如果一个except子句捕获多个异常,则多个异常名应写为元组的形式。
38.已知B是A的父类,b是B类的对象,则“A==type(b)”返回结果为True。
定义函数只是规定了函数会执行什么操作,但并不会真正执行;只有调用函数时才会真正去执行函数中的代码。
40.注释的作用是增强程序可读性,并不会实际运行。
41.re.match(r’py$’,’puppy’)返回的是一个Match对象。
42.类的普通方法的第一个参数自动对应调用该方法时所使用的类对象。
43.已知“str=’abcdefabc’”,则执行“str.replace(‘abc’,’cba’)”后,str中保存的字符串为’cbadefcba’。
44.在一个函数中定义的变量在另一个函数中不能使用。
45.已知“str='{s1}的职业是{s2}’”,则执行“str.format(s2=’教师’,s1=’李晓明’)”会因传参顺序不正确而报错。
46.基于已有的类创建新的类是面向对象中的多态性。
47.不能使用数字索引形式的下标可以访问字典中的元素。
48.列表生成表达式的返回结果是一个列表。
49.已知M模块中有两个函数f1和f2,则在脚本文件N.py中通过“from M import *”必然可以将M模块中的f1和f2导入。
50.已知有语句“assert num==0”,则当num的值为0时会引发AssertionError异常。
转载请注明:奥鹏作业之家 » 南开20秋学期(1709、1803、1809、1903、1909、2003、2009 )《Python编程基础》在线作业【标准答案】