《Python编程基础》19秋期末考核-0001
一、单选题 (共 15 道试题,共 30 分)
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.类中的( )对应一个类可以支持哪些操作。
A.方法
B.数据
C.属性
D.对象
3.使用字典中的( )方法可以一次插入多个元素。
A.update
B.push
C.insert
D.add
4.第三方模块的获取与安装可以使用( )工具。
A.setup
B.pip
C.install
D.get
5.程序在运行时,输入数据和输出数据都是存放在( )中。
A.硬盘
B.外存
C.内存
D.CPU
6.已知在脚本文件N.py中有函数调用“B.c()”,其中B是A包中的模块,则import语句的正确写法是( )。
A.import A.B.c
B.import A.B
C.from A import B
D.from A.B import c
7.十进制数37转为二进制数结果为( )。
A.101001B#100100B#100001B
B.100101B
8.已知stu1和stu2是Student类的两个对象,则执行“stu1>stu2”时会自动执行Student类的( )方法。
A.__lt__
B.__le__
C.__gt__
D.__ge__
9.下列选项中,错误的描述是( )。
A.通过“{}”可以创建一个空字典
B.字典中的每一个元素是一个键:值对
C.字典中不同元素的键不能相同
D.字典中不同元素的值不能相同
10.已知“ls=[1,3,2,5]”,则执行“ls.sort(reverse=True)”后ls的值为( )。
A.[5,3,2,1]
B.[5,2,3,1]
C.[1,3,2,5]
D.[1,2,3,5]
11.如果要去除字符串中的所有空格,可以使用字符串的( )方法。
A.strip
B.rstrip
C.replace
D.lstrip
12.用于结束本次循环并开始下一次循环的命令是( )。
A.pass
B.else
C.continue
D.break
13.如果要去除字符串中头部的空格,可以使用字符串的( )方法。
A.strip
B.rstrip
C.replace
D.lstrip
14.析构方法的形参个数为( )。
A.至少1个
B.不限
C.1
D.0
15.re.finditer函数的返回结果必然是( )。
A.迭代器
B.字符串
C.列表
D.元组
二、多选题 (共 10 道试题,共 20 分)
16.下列选项中,描述正确的是( )。
A.通过import一次可以导入多个模块
B.通过import一次只能导入一个模块
C.导入一个模块A后,如果要使用A中定义的标识符s,则需要通过A.s的方式
D.一个模块对应了一个扩展名为.py的脚本文件,该脚本文件的名字就是模块名
17.利用下列选项中的( ),可快速完成金融分析工作。
A.Scipy
B.Pandas
C.Numpy
D.Django
18.如果要一次完成字符串中所有满足正则表达式规则的子串的匹配,可以使用re模块的( )函数。
A.searchall
B.search
C.finditer
D.findall
19.下列选项中,描述正确的选项包括( )。
A.a@b是一个有效的Python变量名
B.Python中的变量类型一旦确定就不能改变
C.Python中的变量在使用前不需要定义
D.Python 3.x中的变量名可以包含中文
20.对于Python中同一层次的连续两行代码,采用下列书写方式不会报错的是( )。
A.第一行缩进1个制表符,第二行缩进4个空格
B.第一行和第二行都缩进4个空格
C.第一行和第二行都缩进2个空格
D.第一行和第二行都缩进1个制表符
21.下列选项中,描述正确的是( )。
A.一个函数的函数体中可以包含另一个函数的调用
B.一个函数的函数体中可以包含另一个函数的定义
C.一个函数的函数体中不可以包含另一个函数的调用
D.一个函数的函数体中不可以包含另一个函数的定义
22.下列选项中,有效的Python变量名包括( )。
A.test
B._t1
C._abc
D.1_a
23.下列选项中,按照从左至右的顺序进行字符串检索的方法包括( )。
A.rindex
B.rfind
C.index
D.find
24.Python程序使用( )进行多行注释。
A.分号
B.井号
C.三个连续双引号
D.三个连续单引号
25.已知脚本文件N.py中有一个函数调用“A.B.C.d()”,则下列选项中表示包名的是( )。
A.d
B.C
C.B
D.A
三、判断题 (共 10 道试题,共 20 分)
26.类的封装性是指将一个数据相关的属性封装在一起。
27.基于已有的类创建新的类是面向对象中的多态性。
28.列表生成表达式的返回结果是一个列表。
29.len函数可获取一个列表对象中的元素数量。
30.通过“min(ls)”可以得到列表ls中最小元素的值。
31.如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。
32.os.path.join(‘.’,’src’,’tools’)与’.{0}src{0}tools’.format(os.sep)返回的字符串相同。
33.外层函数定义了局部变量x,如果内层函数只获取x的值、不修改x的值,则可以不使用nonlocal关键字。
34.使用三引号创建字符串时不允许使用转义符。
35.已知MyModule模块中有一个无参函数fun,且在脚本文件N.py中有“import MyModule as M”,则在N.py中要调用MyModule模块中的fun函数应使用“M.fun()”。
四、问答题 (共 5 道试题,共 30 分)
36.请写出下面程序的输出结果。
x,y,z=3,5,7
if y>x:
print(y)
if y>z:
print(y)
else:
print(z)
else:
print(x)
if x>z:
print(x)
else:
print(z)
37.请将下面程序补充完整。
s=set([1,20,300])
s.____(1)____((1,2))
print(s) #输出“{(1, 2), 1, 20, 300}”
s.____(2)____((1,2))
print(s) #输出“{(1, 2), 1, 2, 300, 20}”
38.请将下面程序补充完整。
class Student:
def ____(1)____(self,____(2)____):
self.name=name
def PrintInfo(self):
print(‘姓名:%s’%self.name)
if __name__==’__main__’:
stu1=Student()
stu2=Student(‘李晓明’)
stu1.PrintInfo() #输出“姓名:unknown”
stu2.PrintInfo() #输出“姓名:李晓明”
39.分别写出M.py和testM.py运行后的输出结果。
M.py中的代码:
def PrintSum(m,n):
print(m+n)
if __name__==’__main__’:
PrintSum(10,15)
testM.py中的代码:
import M
M.PrintSum(1,2)
40.请指出下面程序中存在的错误并改正。
class Student:
pass
if __name__==’__main__’:
stu=Student()
print(stu)