一、填空题
1、Python 安装扩展库常用的是 _______工具。( pip) 2、Python 标准库 math 中用来计算平方根的函数是
__________。(sqrt)
GUI
3、Python 程序文件扩展名主要有 __________和________两种,其中后者常用于 程序。
(py、pyw)
4、Python 源代码程序编译后的文件扩展名为 5、使用 pip 工具升级科学计算扩展库 install --upgrade numpy)
6、使用 pip 工具查看当前已安装的 (pip list )
7、在 IDLE 交互模式中浏览上一条语句的快捷键是 8、在 Python 中__________表示空类型。( None) 9、列表、元组、字符串是 11、查看变量内存地址的 (3+4j、3+4J)
13、Python 运算符中用来计算整商的是
_________。( //)
_______。(|)
14、Python 运算符中用来计算集合并集的是 _______。(A16、______________命令既可以删除列表中的一个元素,也可以删除整个列表。 (del)
17、表达式 int('123', 16) 的值为 _________。(291) 18、表达式 int('123', 8) 的值为 _________。( 83) 19、表达式 int('123') 的值为 _____________。(123) 20、表达式 int('101',2) 的值为 __________。(5) 21、表达式 abs(-3) 的值为 ___________。( 3)
22、Python 3.x 语句 print(1, 2, 3, sep=':') 的输出结果为 ____________。(1:2:3) 23、表达式 int(4**0.5)
的值为 ____________。(2)
24、Python 内置函数 _________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。( len())
25、Python 内置函数 ____________用来返回序列中的最大元素。(
max() )
Python 的_________(有序?无序 )序列。(有序) Python 内置函数是 _________________。(id())
10、查看变量类型的 Python 内置函数是 ________________ 。(type()) 12、以 3 为实部 4 为虚部, Python 复数的表达形式为 ___________或________。
__________。(Alt+P )
Python 扩展库的完整命令是 _____________。
_________。(pyc)
numpy 的完整命令是 _________________。(pip
15、使用运算符测试集合包含集合A 是否为集合B 的真子集的表达式可以写作
26、Python 内置函数 ____________用来返回序列中的最小元素。( (sum())
28、为了提高 Python 代码运行速度和进行适当的保密, 为扩展名 __________的文件。( pyc) 29、已知 x = 3,那么执行语句
min() )
27、Python 内置函数 ________________用来返回数值型序列中所有元素之和。
可以将 Python 程序文件编译
x += 6 之后, x 的值为 _______________。( 9)
30、表达式 3 | 5 的值为 __________。(7) 31、表达式 3 & 6 的值为 _________。(2) 32、表达式 3 ** 2 的值为 _________。(9) 33、表达式 3 * 2 的值为 ___________。( 6) 34、表达式 3<<2 的值为 _______________。(12) 35、表达式 65 >> 1 的值为 _____________ 。(32) 36、表达式 chr(ord('a')^32) 的值为 ___________。( 'A') 37、表达式 chr(ord('a')-32) 的值为 ___________。( 'A') 38、表达式 abs(3+4j) 的值为 ____________。(5.0) 39、表达式 callable(int) 的值为 ___________。(True) 40、假设有 Python 程序文件 abc.py,其中只有一条语句 运行该程序时得到的结果为
print(__name__) ,那么直接
_____________。( __main__)
41、表达式 16**0.5 的值为 ____________________ 。(4.0) 42、表达式 type({3}) 的值为 ____________________。(set)
43、表达式 isinstance('Hello world', str) 的值为 ____________________。( True) 44、表达式 [1, 2, 3]*3 的执行结果为 ______________________ 。([1, 2, 3, 1, 2, 3, 1, 2, 3] )
45、list(map(str, [1, 2, 3])) 的执行结果为 _____________________ 。([ ‘1,’ ‘2,’ ‘3]’) 46、语句 x = 3==3, 5 执行结束后,变量
x 的值为 _____________。( (True, 5))
x += 6 之后,表
47、已知 x = 3 ,并且 id(x) 的返回值为 496103280,那么执行语句 达式 id(x) == 496103280 的值为 ___________。(False) 48、已知 x = 3,那么执行语句 50、列表对象的 为
x *= 6 之后, x 的值为 ________________。(18)
49、表达式 [3] in [1, 2, 3, 4] 的值为 ________________ 。(False)
sort()方法用来对列表元素进行原地排序,该函数返回值。(None)
51、假设列表对象 aList 的值为 [3, 4, 5, 6, 7, 9, 11, 13, 15, 17] ,那么切片 aList[3:7] 得到的值是______________________。([6, 7, 9, 11] ) 52、使用列表推导式生成包含 ([5 for i in range(10)] )
10 个数字 5 的列表,语句可以写为 _______________。
53、假设有列表 a = ['name', 'age', 'sex']和 b = ['Dong', 38, 'Male'] ,请使用一个语句将这两个列表的内容转换为字典, 并且以列表 a 中的元素为 “键” ,以列表 b 中的元素为 “值”,这个语句可以写为 _____________________。( c = dict(zip(a, b)) ) 54、任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 (-1)
55、Python 语句 list(range(1,10,3)) 执行结果为 ___________________ 。([1, 4, 7] ) 56、表达式 list(range(5)) 的值为 ________________。([0, 1, 2, 3, 4] ) 57、已知 a = [1, 2, 3] 和 b = [1, 2, 4] ,那么 id(a[1])==id(b[1]) 的执行结果为 ___________。(True)
58、切片操作 list(range(6))[::2] 执行结果为 ________________。([0, 2, 4] ) 59、使用切片操作在列表对象 (x[0:0]= [3] )
60、语句 sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])执行结果为 _________。(False)
61、表达式 sorted([111, 2, 33], key=lambda x: len(str(x))) ([2,33, 111])
62、表达式 sorted([111, 2, 33], key=lambda x: -len(str(x))) ([111,33, 2])
63、语句 x = (3,) 执行后 x 的值为 _______________。( (3,)) 64、语句 x = (3) 执行后 x 的值为 ________________ 。(3) 65、已知 x=3 和 y=5,执行语句 x, y = y, x 后 x 的值是 ____。(5)
66、可以使用内置函数 _______________查看包含当前作用域内所有全局变量和值的字典。( globals())
67、可以使用内置函数 ___________________ 查看包含当前作用域内所有局部变量和值的字典。( locals()( ) 68、字典中多个元素之间使用
____________分隔开,每个元素的“键”与“值”之间使用
________分隔开。(逗号、冒号)
69、字典对象的 ___________方法可以获取指定“键”对应的“值”,并且可以在指定“键”不存在的时候返回指定值,如果不指定则返回
None。( get())
keys()) values())
70、字典对象的 _____________方法返回字典中的“键 -值对”列表。( items()) 71、字典对象的 ____________方法返回字典的“键”列表。( 72、字典对象的 ______________方法返回字典的“值”列表。( 2,2: 3} )
74、表达式 {1, 2, 3, 4} - {3, 4, 5, 6} 的值为 __________________。({1, 2} ) 75、表达式 set([1, 1, 2, 3])的值为 ____________________。( {1, 2, 3} )
的值为 ____________。的值为 ________________。
x 的开始处增加一个元素
3 的代码为 _________。
________。
73、已知 x = {1:2} ,那么执行语句 x[2] = 3 之后,x 的值为 ________________。({1:
76、使用 列 表推 导 式 得 到 100 以 内 所有 能 被 13 整除 的 数 的 代 码 可 以 写 作___________________________________ 。( [i for i in range(100) if i%13==0] 77、已知 x = [3, 5, 7] ,那么表达式 78、已知 x = [3, 5, 7] ,那么执行语句 ______________。([3, 5, 7, 1, 2] )
79、已知 x = [3, 7, 5] , 那 么 执 行 语 句 x.sort(reverse=True) 之 后 , x 的 值 为_________________。([7, 5, 3] ) 80、已知 x = [3, 7, 5] ,那么执行语句 _________。(None)
81、已知 x = [1, 11, 111] ,那么执行语句 82、表达式 list(zip([1,2], [3,4])) 4)] )
83、已知 x = [1, 2, 3, 2, 3] ,执行语句 x.pop() 之后,x 的值为 _____________。([1, 2, 3,2])
84、表达式 list(map(list,zip(*[[1, 2, 3], [4, 5, 6]]))) [2,5], [3, 6]] )
85、表达式 [x for x in [1,2,3,4,5] if x<3] 的值为 _____________________ 。([1, 2] )
86、表达式 [index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])]的值为 __________________。([2, 4] )
87、已 知 x = [3,5,3,7] , 那 么 表 达 式 [x.index(i) 值 为______________。( [0, 0])
88、已知列表 x = [1, 2] ,那么表达式 list(enumerate(x)) 的值为 _______________。([(0,1), (1, 2)] )
89、已知 vec = [[1,2], [3,4]] ,则表达式
[col for row in vec for col in row]
的值为__________________________。([1, 2, 3, 4] )
90、已知 vec = [[1,2], [3,4]] ,则表达式 [[row[i] for row in vec] for i in range(len(vec[0]))]的值为 _________________________。([[1, 3], [2, 4]] )
91、已知 x = list(range(10)) ,则表达式 x[-4:] 的值为 __________。([6, 7, 8, 9] ) 92、已知 x = [3, 5, 7] ,那么执行语句 ([3,2])
93、已知 x = [3, 5, 7] ,那么执行语句 ([ 2] )
94、已知 x 为非空列表,那么执行语句 的值为__________。(True)
y = x[:] 之后, id(x[0])
== id(y[0])
x[:3] = [2] 之后,x 的值为 ________________。x[1:] = [2] 之后,x 的值为 ________________。
for i in x if i==3]
的
的值为 ________________。([[1, 4],
x.sort(key=lambda x: len(str(x)),
reverse=True)之后, x 的值为 __________________。([111, 11, 1])
的值为 ________________________ 。([(1, 3), (2,
x = x.sort(reverse=True) 之后,x 的值为 x[10:] 的值为 ____________。([] ) x[len(x):] = [1, 2] 之后,x 的值为
)
95、已知 x = [1, 2, 3, 2, 3] ,执行语句 x.remove(2) 之后,x 的值为 ____________。([1,3, 2, 3])
96、表达式 len([i for i in range(10)])
的值为 __________。(10)
97、表达式 len(range(1,10)) 的值为 _____________。(9) 98、表达式 range(10)[-1] 的值为 ____________。(9) 99、表达式 range(10,20)[4] 的值为 __________。(14) 100、表达式 round(3.4) 的值为 ___________。(3) 101、表达式 round(3.7) 的值为 _________。(4)
102、已知 x = (3) , 那么表达式 x * 3 的值为 __________。(9) 103、已知 x = (3,) ,那么表达式 _____________ 。(True)
105、已知列表 x = list(range(10)) ,那么执行语句 _________。([1, 3, 5, 7, 9] )
106、已知列表 x = [1, 2, 3, 4] ,那么执行语句 ([1,3, 4])
107、表达式 [1] * 2 的值为 _________________。([1, 1] ) 108、表达式 [1, 2] * 2 的值为 ______________。([1, 2, 1, 2] ) 109、已知列表 x = [1, 2, 3] ,那么执行语句 ___________。([1, 4, 2, 3] )
110、已知列表 x = [1, 2, 3] ,那么执行语句 ___________。([4, 1, 2, 3] )
111、已知列表 x = [1, 2, 3] ,那么执行语句 3] )
112、已知 x = [[1]]
* 3 , 那么 执 行 语句 x[0][0]
= 5 之后 ,变 量 x
的值 为________________。([[5], [5], [5]] ) 113、表达式 list(map(lambda x: x+5, [1, 2, 3, 4, 5])) ______________________ 。([6, 7, 8, 9, 10] ) 114、表达式 {1, 2, 3, 4, 5} ^ {4, 5, 6, 7} 3,6, 7} )
115、已知 x = [1, 2, 3],那么执行语句
x[len(x)-1:]
= [4, 5, 6]之后,变量 x
的值为_________________________________ 。([1, 2, 4, 5, 6] ) 116、表达式 len(range(1, 10)) 的值为 ___________。(9) 117、已知 x 是一个列表对象,那么执行语句 的值为___________。(False)
y = x[:] 之后表达式 id(x) == id(y) 的值为 _________________________ 。({1, 2,
的值为
x.pop(0) 之后,x 的值为 _________。([2, x.insert(0, 4) 只有, x 的值为 x.insert(1, 4) 只有, x 的值为
del x[1] 之后 x 的值为 ____________。
del x[::2] 之后, x 的值为
x * 3 的值为 _____________。( (3, 3, 3))
104、假设列表对象 x = [1, 1, 1] ,那么表达式 id(x[0]) == id(x[2]) 的值为
118、表 达 式 sorted([13, 1, 237, 89, 100], key=lambda x: len(str(x)))
的 值 为___________________________________ 。( [1, 13, 89, 237, 100] ) 119、已知 x = {1:2, 2:3} ,那么表达式 120、已知 x = {1:2, 2:3} ,那么表达式 121、表达式 {1, 2, 3} | {3, 4, 5} 122、表达式 {1, 2, 3} | {2, 3, 4} 123、表达式 {1, 2, 3} & {3, 4, 5} 124、表达式 {1, 2, 3} & {2, 3, 4} 125、表达式 {1, 2, 3} - {3, 4, 5} 126、表达式 {1, 2, 3} < {3, 4, 5} 127、表达式 {1, 2, 3} < {1, 2, 4}
x.get(3, 4) 的值为 ____。(4) x.get(2, 4) 的值为 ______。(3)
的值为 _____________________。({1, 2, 3, 4, 5} ) 的值为 ______________________。( {1, 2, 3, 4} ) 的值为 ______________。( {3} ) 的值为 ___________。({2, 3} ) 的值为 _________。({1, 2} ) 的值为 _________。(False) 的值为 ___________。( False)
1 个元
128、表达式 [1,2,3].count(4) 的值为 _______________。(0)
129、Python 标准库 random 中的 ___________方法作用是从序列中随机选择 素。(choice() )
130、Python 标准库 random 中的 sample(seq, k)方法作用是从序列中选择 ________(重复?不重复? )的 k 个元素。(不重复)
131、random 模块中 _____________方法的作用是将列表中的元素随机乱序。 (shuffle() )
132、执行代码 x, y, z = sorted([1, 3, 2]) 之后,变量 y 的值为 ______。(2) 133、表达式 (1, 2, 3)+(4, 5) 的值为 __________________。((1, 2, 3, 4, 5) ) 134、表达式 dict(zip([1, 2], [3, 4])) ({1:3, 2: 4} )
135、语句 x, y, z = [1, 2, 3] 执行后,变量 y 的值为 __________。(2) 136、已知 x = [[1,3,3], [2,3,1]] ,那么表达式 3]] )
137、已知 x = [[1,3,3], [2,3,1]] ,那么表达式 3]] )
138、已知 x = [[1,3,3], [2,3,1]] ,那么表达式 sorted(x, key=lambda item:(item[1], -item[2]))的值为 ____________________________________ 。( [[1, 3, 3], [2, 3, 1]] ) 139、已知 x = {1, 2, 3} ,那么执行语句 3} )
140、已知 x = {1:1} ,那么执行语句 (2)
x[2] = 2 之后, len(x) 的值为 ____________。x.add(3) 之后,x 的值为 __________。({1, 2,
sorted(x, key=lambda
item:(item[1],item[2]))的值为 ____________________________________ 。( [[2, 3, 1], [1, 3,
sorted(x, key=lambda
item:item[0]+item[2])的值为 ______________________________________ 。( [[2, 3, 1], [1, 3,
的值为 _________________________________ 。
141、已知 x = {1:1, 2:2} ,那么执行语句 (2)
x[2] = 4 之后,len(x)的值为 ____________。
142、假设已从标准库 functools 导入 reduce()函数,那么表达式 reduce(lambda x, y: x-y, [1,2, 3]) 的值为 ____。(-4)
143、假设已从标准库 functools 导入 reduce()函数,那么表达式 reduce(lambda x, y: x+y, [1,2, 3]) 的值为 ____。(6)
144、假设已从标准库 functools 导入 reduce()函数,那么表达式 reduce(lambda x,y:max(x,y),[1,2,3,4,4,5]) 的值为 _________。(5) 145、已知有函数定义
def demo(*p):return sum(p),那么表达式
demo(1, 2, 3)
的值为______、表达式 demo(1, 2, 3, 4) 的值为 _________。( 6、10) 146、已知列表 x = [1, 2],那么连续执行命令 的值为________。([1, 2, 3] )
147、已知列表 x = [1, 2],那么连续执行命令 的值为________。([1, 2] )
148、已知列表 x = [1, 2] ,执行语句 y = x[:] _______。(False)
149、已知列表 x = [1, 2] ,执行语句 y = x 后,表达式 id(x) == id(y) _______。(True)
150、已知列表 x = [1, 2] ,执行语句 y = x 后,表达式 x is y 的值为 _______。( True)
151、已知列表 x = [1, 2],执行语句 y = x[:] 后,表达式 x is not y 的值为 _______。(True)
152、表达式 sorted(random.sample(range(5), 5)) 的值为 _________________________ 。([0, 1, 2, 3, 4] )
153、表达式 [i for i in range(10) if i>8] for i in range(len(x[0]))] 6]] )
155、执行语句 x,y,z = map(str, range(3)) 之后,变量 y 的值为 ___________。('1') 156、已知列表 x = [1, 2] ,那么执行语句 ____________。([1, 2, 3] )
157、已知列表 x = [1, 2] ,那么执行语句 _____________。([1, 2, [3]] )
158、表达式 print(0b10101) 的值为 ____________。(21) 159、已知 x = [1, 2, 3, 4, 5] ,那么执行语句 5] )
del x[:3] 之后,x 的值为 __________。([4, x.append([3]) 之后, x 的值为 x.extend([3]) 之后, x 的值为 的值为 ________________。([9] )
[[row[i]
for row in x]
154、已知有列表 x = [[1, 2, 3], [4, 5, 6]] ,那么表达式
的值为
后,表达式 id(x) == id(y)
的值为
y = x[:] 和 y.append(3) 之后, x y = x 和 y.append(3) 之后, x
的值为 ___________________________ 。([[1, 4], [2, 5], [3,
160、已知 x = range(1,4) 和 y = range(4,7),那么表达式 sum([i*j for i,j in zip(x,y)]) 的值为__________。(32) 161、表达式 [5 for i in range(3)] 162、表达式 {1, 2, 3} == {1, 3, 2} 163、表达式 [1, 2, 3] == [1, 3, 2] (True)
165、表达式 3 not in [1, 2, 3] 的值为 __________。(False) 166、已知 x = [1, 2] ,那么执行语句 3,1, 2])
167、已知 x = [1, 2] ,那么执行语句 3,2])
168、已知 x = [1, 2, 3, 4, 5] ,那么执行语句 ([1,4, 5])
169、已知 x = [[1, 2, 3,], [4, 5, 6]] ,那么表达式 sum([i*j for i,j in zip(*x)]) ______。(32)
170、已知列表 x = [1, 2, 3]
和 y = [4, 5, 6] ,那么表达式 [(i,j) for i, j in zip(x,y) if
i==3]的值为 ____________。([(3, 6)] )
171、已知列表 x = [1.0, 2.0, 3.0] ,那么表达式 sum(x)/len(x) 的值为 ___________。(2.0)
172、已知 x = {1:2, 2:3, 3:4} ,那么表达式 173、已知 x = {1:2, 2:3, 3:4} ,那么表达式
sum(x) 的值为 ___________。(6) sum(x.values()) 的值为 _________。(9)
[index for index, value in
的值为
del x[1:3] 之后,x 的值为 ____________。x[0:1] = [3, 3] 之后,x 的值为 ___________。([3, x[0:0] = [3, 3] 之后,x 的值为 ___________。([3, 的值为 _______________。([5, 5, 5] ) 的值为 ___________。(True) 的值为 ____________。(False)
的值为 _______________。
164、已知 x = [1, 2, 1] ,那么表达式 id(x[0]) == id(x[2])
174、已知 x = [3, 2, 3, 3, 4],那么表达式
enumerate(x) if value==3] 的值为 ____________。([0, 2, 3] ) 175、表达式 1234%1000//100 的值为 ___________。(2) 176、表达式 3 // 5 的值为 _______________。(0)
177、表达式 [1, 2] + [3] 的值为 __________________。( [1, 2, 3]) 178、表达式 (1,) + (2,) 的值为 _____________ 。((1, 2)) 179、表达式 (1) + (2) 的值为 ____________。(3) 180、已知 x, y = map(int, ['1', '2']) ,那么表达式 181、已知列表 x = list(range(5)) ,那么执行语句 x.index(4) 的值为________。(3)
182、已知列表 x = [1, 3, 2] ,那么执行语句 ____________。([2, 3, 1] )
183、已知列表 x = [1, 3, 2] ,那么执行语句 ____________。(None)
x = x.reverse() 之后,x 的值为 x.reverse() 之后, x 的值为
x + y 的值为 _______。( 3) x.remove(3) 之后,表达式
184、已知 x 为非空列表, 那么表达式 x.reverse() == list(reversed(x)) __________。(False)
185、已知 x 为非空列表,那么表达式 (False) 186、已知列表 187、已知列表
x = [1, 3, 2],那么执行语句 x = [1, 3, 2],那么执行语句
的值为
x.sort() == sorted(x) 的值为 __________。
y = list(reversed(x)) 之后, x y = list(reversed(x)) 之后, y
x == x[:5]+x[5:]
的值为__________。([1, 3, 2] ) 的值为__________。([2, 3, 1] )
188、已知列表 x 中包含超过 5 个以上的元素,那么表达式 的值为________。(True)
189、已知字典 x = {i:str(i+3) for i in range(3)} (3)
190、已知字典 x = {i:str(i+3)
for i in range(3)} ,那么表达式
sum(item[0] for ''.join([item[1]
for
item in x.items()) 的值为 ___________。(3)
191、已知字典 x = {i:str(i+3) for i in range(3)} ,那么表达式 item in x.items()]) 的值为 _____________。('345') 192、已知列表 x = [1, 3, 2],那么表达式 enumerate(x) if
index==2] 的值为 _______________。([2] ) 193、已知列表 x = [1, 3, 2] ,那么执行语句 (2)
194、已知列表 x = [1, 3, 2],那么执行语句 的值为______。('3')
195、表达式 set([1,2,3]) == {1, 2, 3} 196、表达式 set([1,2, 2,3]) == {1, 2, 3}
的值为 ____________。(True) 的值为 ____________。(True)
a, b, c = map(str,sorted(x)) 之后, c a, b, c = sorted(x) 之后,b 的值为 ____。[value for index, value in
,那么表达式 sum(x) 的值为 ______。
197、表达式 '%c'%65 == str(65) 的值为 ___________。(False) 198、表达式 '%s'%65 == str(65) 的值为 _____________。(True) 199、表达式 chr(ord('b')^32) 的值为 _________。('B') 200、表达式 'abc' in 'abdcefg' 的值为 _____________ 。(False) 201、已知 x 为整数变量, 那么表达式 int(hex(x), 16) == x (True)
202、已知 x, y = 3, 5 ,那么执行 x, y = y, x 之后, x 的值为 __________。(5) 203、已知 x = 'abcd' 和 y = 'abcde',那么表达式 的值为________________。([True, True, True, True] )
204、已知 x = list(range(20)) ,那么表达式 x[-1] 的值为 ____________________。( 19)
[i==j for i,j in zip(x,y)] 的值为 _____________。
205、已知 x = 3+4j 和 y = 5+6j ,那么表达式 x+y 的值为 ____________________ 。(8+10j )
206、已知 x = [3] ,那么执行 x += [5] 之后 x 的值为 ____________________ 。([3, 5] ) 207、已知 x = [3, 3, 4] ,那么表达式 id(x[0])==id(x[1]) 的值为 __________________ 。(True)
208、表达式 int('11', 2)的值为 ______________________。( 3) 209、表达式 int('11', 8)的值为 _______________________。(9)
210、表达式 int(bin(54321), 2) 的值为 _______________________。( 54321) 211、表达式 chr(ord('A')+1) 的值为 ____________________ 。('B') 212、表达式 int(str(34)) == 34 的值为 ___________________。( True) 213、表达式 list(str([3, 4])) == [3, 4] 的值为 _________________。(False)
214、表达式 {1, 2, 3, 4, 5, 6} ^ {5, 6, 7, 8} 的值为 __________________ 。({1, 2, 3, 4, 7, 8} )
215、表达式 15 // 4 的值为 __________________ 。(3)
216、表达式 sorted({'a':3, 'b':9, 'c':78}) 的值为 _________________。(['a', 'b', 'c'] ) 217、表达式 sorted({'a':3, 'b':9, 'c':78}.values()) 的值为 _____________。([3, 9, 78] ) 218、已知 x = [3, 2, 4, 1] ,那么执行语句 x = x.sort() 之后,x 的值为 ____________。(None)
219、表达式 list(filter(lambda x: x>5, range(10))) 的值为 _________________。([6, 7, 8, 9] )
220、已知 x = list(range(20)) ,那么语句 print(x[100:200]) 的输出结果为 _______________。([] )
221、已知 x = list(range(20)) ,那么执行语句 x[:18] = [] 后列表 x 的值为 ______________。([18, 19] )
222、已知 x = [1, 2, 3] ,那么连续执行 y = x[:] 和 y.append(4)这两条语句之后, x 的值为____________________。([1, 2, 3] )
223、已知 x = [1, 2, 3],那么连续执行 y = x 和 y.append(4)这两条语句之后, x 的值为____________________。([1, 2, 3, 4] )
224、已知 x = [1, 2, 3] ,那么连续执行 y = [1, 2, 3] 和 y.append(4)这两条语句之后, x 的值为____________________ 。([1, 2, 3] ) 225、已 知 x = [[]]
*
3 , 那 么 执 行 语 句 x[0].append(1) 之 后 , x 的 值
x[0].append(1) 之后, x
为____________________。([[1], [1], [1]] )
226、已知 x = [[] for i in range(3)] ,那么执行语句 的值为
_________________。([[1], [], []] )
227、已知 x = ([1], [2]) ,那么执行语句 x[0].append(3) 后 x 的值为 ________________。(([1,3], [2]) )
228、已知 x = {1:1, 2:2} ,那么执行语句 x.update({2:3, 3:3}) 之后,表达式 sorted(x.items())的值为 ____________________。([(1, 1), (2, 3), (3, 3)] )
229、已知 x = {1:1, 2:2} ,那么执行语句 x[3] = 3 之后,表达式 sorted(x.items()) 的值为____________________。([(1, 1), (2, 2), (3, 3)] )
230、已知 x = [1, 2, 3],那么表达式 not (set(x*100)-set(x)) 的值为 ________________ 。
(True)
231、已知 x = [1, 2, 3],那么表达式 not (set(x*100)&set(x)) 的值为 ________________ 。
(False)
232、表达式 {'x': 1, **{'y': 2}} 7} )
234、已知 x = [1,2,3,4,5] , 那 么 执 行 语 句 x[::2] 为_______________。([0, 2, 1, 4, 2] ) 235、已知 x = [1,2,3,4,5] ,那么执行语句 236、已知 x = [1,2,3,4,5] ,那么执行语句
x[::2] = map(lambda y:y!=5,range(3)) x[1::2] = sorted(x[1::2], reverse=True)
之
之后, x的值为 ________________。([True, 2, True, 4, True] ) 后, x的值为 _________________。([1, 4, 3, 2, 5] ) 237、表达式 True*3 的值为 __________。(3) 238、表达式 False+1 的值为 __________。(1) 239、表达式 'ab' in 'acbed' 的值为 ________。(False) 240、假设 n 为整数,那么表达式
n&1 == n%2 的值为 _____________ 。(True)
in)
241、关键字 __________用于测试一个对象是否是一个可迭代对象的元素。( 242、表达式 3<5>2 的值为 _______________ 。(True)
243、已知 x = {'a':'b', 'c':'d'} ,那么表达式 'a' in x 的值为 ______________。(True) 244、已知 x = {'a':'b', 'c':'d'} ,那么表达式 'b' in x 的值为 ______________。( False) 245、已知 x = {'a':'b', 'c':'d'} ,那么表达式 'b' in x.values() 的值为 ______________。(True)
246、表达式 1<2<3 的值为 _________。(True) 247、表达式 3 or 5 的值为 ________。(3) 248、表达式 0 or 5 的值为 _________。(5) 249、表达式 3 and 5 的值为 ____________。(5)
250、表达式 3 and not 5 的值为 ______________。(False) 251、Python 中用于表示逻辑与、逻辑或、逻辑非运算的关键字分别是 _________ 、___________、_________。(and、or、not)
= range(3) 之 后 , x 的 值
的值为 ___________________。({'x': 1, 'y': 2} )
233、表达式 {*range(4), 4, *(5, 6, 7)} 的值为 __________________ 。({0, 1, 2, 3, 4, 5, 6,
252、Python 结 果 为
3.x 语 句 for i in range(3):print(i, end=',') 的 输 出
_____________________。(0,1,2,)
253、Python 3.x 语句 print(1, 2, 3, sep=',') 的输出结果为 ________________。(1,2,3)
254、对于带有 else 子句的 for 循环和 while 循环,当循环因循环条件不成立而自然结束
时________(会?不会? )执行 else 中的代码。(会)
255、在循环语句中, __________语句的作用是提前结束本层循环。( 256、在循环语句中, _______语句的作用是提前进入下一次循环。( 257、表达式
5 if 5>6 else (6 if 3>2 else 5) 的值为 _________。(6)
break) continue)
258、Python 关键字 elif 表示__________和___________两个单词的缩写。( else、if ) 259、表达式 3 in {1, 2, 3} 的值为 _________。(True) 260、表达式 'ac' in 'abce' 的值为 _____________ 。(False) 261、表达式 not 3 的值为 ________________。(False)
262、表达式 'abc' in ('abcdefg') 的值为 ______________。( True) 263、表达式 'abc' in ['abcdefg'] 的值为 ______________。( False) 264、表达式 '\\x41' == 'A' 的值为 _____________ 。(True)
265、Python 语句 ''.join(list('hello world!')) 执行的结果是 ____________________ 。('hello world!' )
266、转义字符 r’\\n’的含义是 ___________________ 。(回车换行)
267、已知列表对象 x = ['11', '2', '3'] ,则表达式 max(x) 的值为 ___________。('3') 268、表达式 min(['11', '2', '3']) 的值为 _________________。('11')
269、已知列表对象 x = ['11', '2', '3'] ,则表达式 max(x, key=len) 的值为 ___________。('11')
270、已知 path = r'c:\est.html' , 那么表 达式 path[:-4]+'htm' __________ 。
('c:\\\est.htm' )
271、表达式 list(str([1,2,3])) == [1,2,3]
的值为 ______________。(False)
272、表达式 str([1, 2, 3]) 的值为 __________________ 。('[1, 2, 3]' ) 273、表达式 str((1, 2, 3)) 的值为 __________________ 。('(1, 2, 3)' ) 274、表达式 sum(range(1, 10, 2)) 的值为 ____________。(25) 275、表达式 sum(range(1, 10)) 的值为 _____________。(45) 276、表达式 '%c'%65 的值为 _________。('A' ) 277、表达式 '%s'%65 的值为 __________。('65')
278、表达式 '%d,%c' % (65, 65) 的值为 ________。('65,A') 279、表 达 式
'The
first:{1},
the
second
is
{0}'.format(65,97)
的 值 为______________________________ 。('The first:97, the second is 65' )
的值为
280、表达式 '{0:#d},{0:#x},{0:#o}'.format(65) ('65,0x41,0o101')
的值为 _____________。
281、表达式 isinstance('abcdefg', str) 的值为 ____________。(True) 282、表达式 isinstance('abcdefg', object) 的值为 _____________。(True) 283、表达式 isinstance(3, object) 的值为 _____________。(True) 284、表达式 'abcabcabc'.rindex('abc') 的值为 ____________。(6) 285、表达式 ':'.join('abcdefg'.split('cd'))
的值为 ______________。('ab:efg')
的值为 ________。(-1)
286、表达式 'Hello world. I like Python.'.rfind('python')
287、表达式 'abcabcabc'.count('abc') 的值为 _____________。(3)
288、表达式 'apple.peach,banana,pear'.find('p') 的值为 ______________ 。(1) 289、表达式 'apple.peach,banana,pear'.find('ppp') 的值为 ________。( -1) 290、表达式 'abcdefg'.split('d') 的值为 __________________。( ['abc', 'efg'] ) 291、表达式 ':'.join('1,2,3,4,5'.split(',')) 292、表达式
','.join('a
b
______________ 。
('a,b,ccc,ddd')
293、表达式 'Hello world'.upper() 294、表达式 'Hello world'.lower() WORLD' )
296、表达式 'Hello world'.swapcase().swapcase() 的值为 ______________。('Hello world' )
297、表达式 r'c:\\windows\\notepad.exe'.endswith('.exe') 的值为 _____________ 。(True)
298、表达式 r'c:\\windows\\notepad.exe'.endswith(('.jpg', '.exe')) (True)
299、表达式 'C:\\\\Windows\\\\notepad.exe'.startswith('C:') 300、表达式 len('Hello world!'.ljust(20))
的值为 _________。(True)
的值为 _________。(20)
的值为 _______。
的值为 ___________。('HELLO WORLD' ) 的值为 _____________。('hello world' )
的值为 ___________。('HELLO
的值为 __________________。('1:2:3:4:5' )
'.split()) 的值为
ccc\\n\\n\\nddd
295、表达式 'Hello world'.lower().upper()
301、表达式 len('abcdefg'.ljust(3)) 的值为 _________。(7) 302、表达式 'a' + 'b' 的值为 _____________。( 'ab')
303、已知 x = '123' 和 y = '456' ,那么表达式 x + y 的值为 ______________。('123456')
304、表达式 'a'.join('abc'.partition('a')) 的值为 ________________。('aaabc') 305、表达式 re.split('\\.+', 'alpha.beta...gamma..delta') 的值为 _______________________ 。
(['alpha', 'beta', 'gamma', 'delta'] )
306、已知 x = 'a234b123c',并且 re 模块已导入,则表达式 的值为_________________。(['a', 'b', 'c'] )
re.split('\\d+', x)
307、表达式 ''.join('asdssfff'.split('sd')) 的值为 ____________。( 'assfff') 308、表达式 ''.join(re.split('[sd]','asdssfff')) 为___________________。(['3', '1'] )
310、语句 print(re.match('abc', 'defg')) 输出结果为 _____________。( None) 311、表达式 'Hello world!'[-4] 312、表达式 'Hello world!'[-4:]
的值为 ________________。('r') 的值为 ________________。('rld!' )
的值为 __________。(True)
的输出结果为 _________。
的值为 _______________。('afff' )
'33abcd112') 的 值
309、假设 re 模 块 已 导 入 ,那 么 表达 式 re.findall('(\\d)\\\\1+',
313、表达式 'test.py'.endswith(('.py', '.pyw'))
314、表达式 len('abc'.ljust(20)) 的值为 ______________。(20) 315、代码 print(re.match('^[a-zA-Z]+$','abcDEFG000')) (None)
316、当在字符串前加上小写字母 任何字符进行转义。( r、R)
317、在设计正则表达式时, 字符_______紧随任何其他限定符 (* 、+、?、{n} 、{n,} 、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。(
?)
re 已导入,那么表达式 re.sub('\\d+', '1',
318、假设正则表达式模块
_____或大写字母 _____表示原始字符串, 不对其中的
'a12345bbbb67c890d0e')的值为 _____________________。('a1bbbb1c1d1e') 319、表达式 len('中国'.encode('utf-8')) 的值为 ___________。(6) 320、表达式 len('中国'.encode('gbk')) 的值为 ____________。(4) 321、表达式 chr(ord('A')+2) 的值为 __________。('C')
322、表达式 'abcab'.replace('a','yy') 的值为 ___________。('yybcyyb' ) 323、已知 table = ''.maketrans('abcw', 'xyzc') ,那么表达式 'Hellow world'.translate(table)
的值为 ______________________。( 'Helloc corld' ) 324、表 达 式
'hello
world,
hellow
every
one'.replace('hello',
'hi')
的 值 为________________________ 。('hi world, hiw every one' ) 325、已知字符串 x = 'hello world' ,那么执行语句 的值为
____________。('hello world' )
326、正则表达式元字符 ________用来表示该符号前面的字符或子模式 现。(+)
327、已知 x = 'a ___________ 。
('a,b,c,d')
b c
d',那么表达式
','.join(x.split())
的值为 1 次或多次出
x.replace('hello', 'hi') 之后, x
328、正则表达式元字符 ________用来表示该符号前面的字符或子模式 现。(* )
329、表达式 'abcab'.strip('ab') 的值为 __________。( 'c') 330、表达式 [str(i) for i in range(3)]
0 次或多次出
的值为 ____________。(['0', '1', '2'] )
的值为 ___________。(True)
331、表达式 'abc.txt'.endswith(('.txt', '.doc', '.jpg')) 333、代码 for i in range(3):print(i, end=',') (0,1,2,)
334、表达式 eval('''__import__('math').sqrt(9)''')
332、代码 print(1,2,3,sep=':') 的执行结果为 __________________。(1:2:3 )
的执行结果为 _________________。
的值为 ______________。(3.0)
的值为 _________。(5.0)
335、表达式 eval('''__import__('math').sqrt(3**2+4**2)''') 336、表达式 eval('3+5') 的值为 _________________。(8)
337、表达式 eval('[1, 2, 3]') 的值为 __________________。([1, 2, 3] )
338、假设 math 标准库已导入, 那么表达式 eval('math.sqrt(4)') 的值为 _________。(2.0)
339、已知 x 为非空列表, 那么表达式 random.choice(x) in x 的值为 ___________。(True)
340、表达式 'abc10'.isalnum() 的值为 ______________。(True) 341、表达式 'abc10'.isalpha() 的值为 ________________ 。(False) 342、表达式 'abc10'.isdigit() 的值为 __________________。(False)
343、表达式 'C:\\\\windows\\\\notepad.exe'.endswith('.exe') 的值为 ________。( True) 344、表达式 '%s'%[1,2,3] 的值为 _____________。( '[1, 2, 3]' ) 345、表达式 'aaasdf'.lstrip('as') 的值为 ________________。( 'df') 346、表达式 'aaasdf'.lstrip('af') 的值为 ________________。('sdf') 347、表达式 'aaasdf'.strip('af') 的值为 ______________。('sd') 348、表达式 'aaasdf'.rstrip('af') 的值为 _______________。('aaasd)' 349、表达式 len('SDIBT') 的值为 __________。(5) 350、表达式 'Hello world!'.count('l') ___________________ 。
('defgabc')
352、字符串编码格式 UTF8 使用 ____________________个字节表示一个汉字。( 353、字符串编码格式 GBK 使用__________________ 个字节表示一个汉字。( 354、已知字符串编码格式 355、已知字符串编码格式
那么表达式 len('abc 你好')的值为 _______________。(5)
utf8 使用 3 个字节表示一个汉字、1 个字节表示英语字母,
那么表达式 len('abc 你好'.encode())的值为 _______________。(9)
3) 2)
的值为 ___________。(3)
351、已知 x = 'abcdefg',则 表达式 x[3:] + x[:3] 的值为
utf8 使用 3 个字节表示一个汉字、1 个字节表示英语字母,
356、已知字符串编码格式 gbk 使用 2 个字节表示一个汉字、1 个字节表示英语字母,那
'\\x41b' 的
么表达式 len('abc 你好'.encode('gbk'))的值为 _______________。( 7) 357、已知 ord('A') 的值为 65 并且 hex(65) 的值为 '0x41' ,那么表达式 值为________________。('Ab' ) 358、已知 formatter = 'good {0}'.format
,那么表达式 list(map(formatter, ['morning']))
的值为__________________ 。(['good morning'] )
359、已知 x = 'hello world.' ,那么表达式 x.find('x') 和 x.rfind('x') 的值都为 _____________。
(-1)
360、表达式 ':'.join('hello world.'.split()) 的值为 ___________________。( 'hello:world.' ) 361、表达式 ':'.join('a b c d'.split(maxsplit=2)) 的值为 _________________。('a:b:c d') 362、已知 x = 'hello world' ,那么表达式 x.replace('l', 'g') 的值为 _______________。('heggo worgd')
363、假设已 成功导 入 Python 标准库 string ,那么 表达式 len(string.digits) 的值 为_______________。(10)
364、表达式 'aaaassddf'.strip('af')的值为 __________________。( 'ssdd') 365、表达式 len('aaaassddf'.strip('afds'))的值为 ________________ 。(0) 366、表达式 len('hello world'[100:]) 的值为 __________________。(0) 367、表达式 chr(ord('a')^32^32) 的值为 _________________。('a') 368、表达式 chr(ord('a')^32) 的值为 _________________。('A')
369、已知 x = 'aa b ccc dddd',那么表达式 ''.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])
的值为 _________________。('accddd') 370、假设正则表达式模块 371、假设正则表达式模块 372、假设正则表达式模块
re 已正确导入,那么表达式
''.join(re.findall('\\d+',
'abcd1234'))的值为 _____________________。('1234')
re 已正确导入, 那么表达式 re.findall('\\d+?', 'abcd1234') 的re 已正确导入,那么表达式
re.sub('(.\\s)\\\\1+', '\\\\1','a a a a
值为_____________________。(['1', '2', '3', '4'] ) a bb')的值为 ________________________。('a bb') 373、表达式 eval('*'.join(map(str, range(1, 6)))) (
compile() ) 配。( match())
376、正则表达式模块 re 的______________方法用来在整个字符串中进行指定模式的匹
配。( search())
的值为 _________。(120)
374、正则表达式模块 re 的__________方法用来编译正则表达式对象。
375、正则表达式模块 re 的______________方法用来在字符串开始处进行指定模式的匹
377、表达 式 re.search(r'\\w*?(?P 379、已知字典 x = {i:str(i+3) 的值为____________。('345') 380、Python 中定义函数的关键字是 381、在函数内部可以通过关键字 'Beautiful is is 的值为 _________。 ''.join(x.values()) for i in range(3)} ,那么表达式 _________________。(def) ________________来定义全局变量。( global) 382、如果函数中没有 return 语句或者 return 语句不带任何返回值, 那么该函数的返回值 为_________________。(None) 383、表达式 sum(range(10)) 的值为 ________________。( 45) 384、表达式 sum(range(1, 10, 2)) 的值为 ____________。(25) 385、表达式 list(filter(None, [0,1,2,3,0,0])) 3] ) 386、表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 59] ) 388、表 值 达 式 list(filter(lambda x: x%2==0, range(10))) 的 为__________________________。([0, 2, 4, 6, 8] ) 的值为 ___________。 的值为 _________。([3]) 387、表达式 list(range(50, 60, 3)) 的值为 _______________________ 。([50, 53, 56, 的值为 ___________________ 。([1, 2, 389、表达式 list(filter(lambda x: len(x)>3, ['a', 'b', 'abcd'])) (['abcd']) 390、已知 g = lambda x, y=3, z=5: x*y*z ,则语句 print(g(1)) 的输出结果为 _______。(15) 391、表达式 list(map(lambda x: len(x), ['a', 'bb', 'ccc'])) 3] ) 392、已知 f = lambda x: x+5 ,那么表达式 _____________。(['abc', 'acd', 'ade']) 394、已知函数定义 def demo(x, y, op):return eval(str(x)+op+str(y)) ,那么表达式 demo(3, 5,'+')的值为 ______________________ 。(8) 395、已知函数定义 def demo(x, y, op):return eval(str(x)+op+str(y)) ,那么表达式 demo(3, 5,'*') 的值为 ______________________ 。(15) 396、已知函数定义 def demo(x, y, op):return eval(str(x)+op+str(y)) ,那么表达式 demo(3, 5,'-')的值为 ______________________。( -2) 397、已知 f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]) 的值 为____________________。(1) , 那 么表 达式 f(6) f(3) 的值为 ________。(8) 的值为 393、表达式 sorted(['abc', 'acd', 'ade'], key=lambda x:(x[0],x[2])) 的值为 __________。([1, 2, 398、已知 f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]) 的值 为____________________。(0) , 那 么表 达式 f(7) 399、已知 g = lambda x, y=3, z=5: x+y+z ,那么表达式 g(2) 的值为 ________。(10) 400、已知函数定义 def func(*p):return sum(p) ,那么表达式 func(1,2,3) 的值为 ______。 (6) 401、已知函数定义 的值为______。(10) 402、已知函数定义 def func(**p):return sum(p.values()) ,那么表达式 func(x=1, y=2, z=3)的值为 ________。(6) 403、已知函数定义 def func(**p):return ''.join(sorted(p)) ,那么表达式 f(3)的值为 _____________。(5) func(x=1, y=2,z=3)的值为 __________。('xyz') 404、已知 f = lambda x: 5 ,那么表达式 405、Python 使用 _________________关键字来定义类。( class) 406、表达式 isinstance('abc', str) 的值为 ________________。(True) 407、表达式 isinstance('abc', int) 的值为 _______________。(False) 408、表达式 isinstance(4j, (int, float, complex)) 409、表达式 isinstance('4', (int, float, complex)) 410、表达式 type(3) in (int, float, complex) 411、表达式 type(3.0) in (int, float, complex) 412、表达式 type(3+4j) in (int, float, complex) 413、表达式 type('3') in (int, float, complex) 415、在 Python 定义类时,与运算符“ _____________ 。(__pow__() ) 416、在 Python 中定义类时,与运算符“ _______________ 。(__floordiv__() ) 417、表达式 type({}) == dict 的值为 _________________。(True) 418、表达式 type({}) == set 的值为 _______________。(False) 419、在 Python 中,不论类的名字是什么,构造方法的名字都是________________ 。 (__init__ ) 420、如果在设计一个类时实现了__contains__ () 方法,那么该类的对象会自动支持 _____________运算符。( in) 421、对文件进行写入操作之后,_______________方法用来在不关闭文件对象的情况下 将缓冲区内容写入文件。( flush() ) //”对应的特殊方法名为 的值为 _____________。( True) 的值为 _____________。( False) 的值为 ____________。(True) 的值为 ____________。( True) 的值为 ____________。(False) def func(*p):return sum(p) ,那么表达式 func(1,2,3, 4) 的值为 ____________。(True) 414、表达式 type(3) == int 的值为 __________。(True) ** ”对应的特殊方法名为 422、Python 内置函数 _____________用来打开或创建文件并返回文件对象。( open()) with ) 423、使用上下文管理关键字 ______________可以自动管理文件对象, 不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭。( ____________。(listdir() ) 425、Python 标准库 os.path 中用来判断指定文件是否存在的方法是 ______________。 (exists() ) 426、Python 标准库 os.path 中用来判断指定路径是否为文件的方法是 _______________。 (isfile() ) 427、Python 标 准 库 os.path 中 用 来 判 断 指 定 路 径 是 否 为 文 件 夹 的 方 法 是 ______________。( isdir() ) 428、Python 标准库 os.path 中用来分割指定路径中的文件扩展名的方法是 __________。(splitext() ) 429、Python 扩展库 _____________ 支持 Excel 2007 或更高版本文件的读写操作。 (openpyxl ) 430、Python 标准库 ____________中提供了计算 MD5 摘要的方法 md5()。(hashlib) 431、已知当前文件夹中有纯英文文本文件 open('dst.txt', ____________) as dst:dst.write(src.read()) 。('w') 432、Python 内建异常类的基类是 ________________。(BaseException) 433、Python 标准库 __________对 Socket 进行了二次封装,支持 大 幅度简化了网络程序的开发。( socket) Windows 底层几乎所有 API 函 434、Python 扩展库 ______________ 中封装了 数。 (pywin32 ) 435、线程对象的 ___________方法用来阻塞当前线程,指定线程运行结束或超时后继续 运行当前线程。( join() ) 436、Python 用来访问和操作内置数据库 (sqlite3) 437、用于删除数据库表 test 中所有 name 字段值为 1’0001’的记录的 SQL 语 句为______________________________ 。(delete from test where name=’10001’) SQLite 的标准库是 _____________。 Socket 接口的访问, readme.txt,请填空完成功能把 readme.txt 文件 中 的 所 有 内 容 复 制 到 dst.txt 中 , with open('readme.txt') as src, 424、Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是 438、Python 扩展库 ________________完美封装了图形库 ( pyopengl) OpenGL 的功能。 439、Python 扩展库 ______________和______________提供了图像处理功能。( PIL 、pillow ) 二、判断题 1、Python 是一种跨平台、开源、免费的高级动态编程语言。(对) 2、Python 3.x 完全兼容 Python 2.x。(错) 3、Python 3.x 和 Python 2.x 唯一的区别就是: print 在 Python 2.x 中是输出语句, 而在 Python 3.x 中是输出函数。(错) 4、在 Windows 平台上编写的 Python 程序无法在 Unix 平台运行。(错) 5、不可以在同一台计算机上安装多个 6、已知 x = 3 ,那么赋值语句 Python 版本。(错) x = 'abcedfg' 是无法正常执行的。(错) 7、Python 变量使用前必须先声明, 并且一旦声明就不能再当前作用域内改变其类型。 (错) 8、Python 采用的是基于值得自动内存管理方式。(对) 9、在任何时刻相同的值在内存中都只保留一份(错) 10、Python 不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。(对) 11、在 Python 中可以使用 if 作为变量名。(错) 12、在 Python 3.x 中可以使用中文作为变量名。(对) 13、Python 变量名必须以字母或下划线开头,并且区分字母大小写。(对) 14、加法运算符可以用来连接字符串并生成新字符串。(对) 15、9999**9999 这样的命令在 Python 中无法运行。(错) 16、3+4j 不是合法的 Python 表达式。(错) 17、0o12f 是合法的八进制数字。(错) 18、不管输入什么, Python 3.x 中 input() 函数的返回值总是字符串。(对) 19、pip 命令也支持扩展名为 .whl 的文件直接安装 Python 扩展库。(对) 20、只有 Python 扩展库才需要导入以后才能使用其中的对象, 要导入即可使用其中的所有对象和方法。(错) 21、在 Python 中 0xad 是合法的十六进制数字表示形式。(对) 22、3+4j 是合法 Python 数字类型。(对) 23、在 Python 中 0oa1 是合法的八进制数字表示形式。(错) 24、Python 使用缩进来体现代码之间的逻辑关系。(对) 25、Python 代码的注释只有一种方式,那就是使用 #符号。(错) 26、放在一对三引号之间的任何内容将被认为是注释。(错) 27、尽管可以使用 import 语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。(对) Python 标准库不需 28、为了让代码更加紧凑,编写 Python 程序时应尽量避免加入空格和空行。(错) 29、在 Python 3.5 中运算符 +不仅可以实现数值的相加、字符串连接, 还可以实现列表、元组的合并和集合的并集运算。(错) 30、在 Python 中可以使用 for 作为变量名。(错) 31、在 Python 中可以使用 id 作为变量名,尽管不建议这样做。(对) 32、Python 关键字不可以作为变量名。(对) 33、一个数字 5 也是合法的 Python 表达式。(对) 34、执行语句 from math import sin 之后, 可以直接使用 sin() 函数,例如 sin(3)。(对) 35、不同版本的 Python 不能安装到同一台计算机上。(错) 36、一般来说, Python 扩展库没有通用于所有版本 装Python 的版本对应的扩展库。(对) 37、Python 变量名区分大小写,所以 student 和 Student 不是同一个变量。(对) 38、在 Python 3.x 中 reduce()是内置函数。(错) 39、如果只需要 math 模块中的 sin()函数,建议使用 from math import sin 来导入,而不要使用 import math 导入整个模块。(对) 40、在 Python 3.x 中,使用内置函数 input()接收用户输入时, 不论用户输入的什么格式,一律按字符串进行返回。(对) 41、安装 Python 扩展库时只能使用 法了。(错) 43、列表可以作为字典的“键”。(错) 44、元组可以作为字典的“键”。(对) 45、字典的“键”必须是不可变的。(对) 46、已知 x 为非空列表,那么表达式 值一定是 True。(错) 47、已知 x 为非空列表,那么 (错) x.sort(reverse=True)和 x.reverse()的作用是等价的。 sorted(x, reverse=True) == list(reversed(x)) 的 pip 工具在线安装,如果安装不成功就没有别的办 Python 的,安装时应选择与已安 42、Python 支持使用字典的“键”作为下标来访问字典中的值。(对) 48、生成器推导式比列表推导式具有更高的效率,推荐使用。(对) 49、Python 集合中的元素不允许重复。(对) 50、Python 集合可以包含相同的元素。(错) 51、Python 字典中的“键”不允许重复。(对) 52、Python 字典中的“值”不允许重复。(错) 53、Python 集合中的元素可以是元组。(对) 54、Python 集合中的元素可以是列表。(错) 55、Python 字典中的“键”可以是列表。(错) 56、Python 字典中的“键”可以是元组。(对) 57、Python 列表中所有元素必须为相同类型的数据。(错) 58、Python 列表、元组、字符串都属于有序序列。(对) 59、已知 A 和 B 是两个集合,并且表达式 一定为 True。(错) 60、列表对象的 append()方法属于原地操作,用于在列表尾部追加一个元素。(对) 61、对于列表而言, 在尾部追加元素比在中间位置插入元素速度更快一些, 对于包含大量元素的列表。(对) 尤其是 AB 的值 62、假设有非空列表 x,那么 x.append(3)、x = x+[3] 与 x.insert(0,3) 在执行时间上基本没有太大区别。(错) 63、使用 Python 列表的方法 insert()为列表插入元素时会改变列表中插入位置之后元素 的索引。(对) 64、假设 x 为列表对象,那么 x.pop()和 x.pop(-1) 的作用是一样的。(对) remove()方法删除列表中元素时会影响列表中部分元 x = 3 之后,变量 x 的地址不变。(错) 如果列中 del 65、使用 del 命令或者列表对象的 素的索引。(对) 66、已知列表 x = [1, 2, 3] ,那么执行语句 67、使用列表对象的 remove()方法可以删除列表中首次出现的指定元素, 不存在要删除的指定元素则抛出异常。(对) 68、元组是不可变的,不支持列表对象的 命令删除其中的元素,但可以使用 69、Python 字典和集合属于无序序列。(对) 70、无法删除集合中指定位置的元素,只能删除特定值的元素。(对) del 命令删除整个元组对象。(对) inset()、remove()等方法,也不支持 71、元组的访问速度比列表要快一些, 如果定义了一系列常量值, 并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。(对) 72、当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对 应的“值”,若不存在则表示为字典对象添加一个新的“键 73、假设 x 是含有 5 个元素的列表,那么切片操作 常。(错) -值对”。(对) x[10:] 是无法执行的,会抛出异 74、只能对列表进行切片操作,不能对元组和字符串进行切片操作。(错) 75、只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。(错) 76、只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(对) 77、字符串属于 Python 有序序列,和列表、元组一样都支持双向索引。(对) 78、Python 字典和集合支持双向索引。(错) 79、Python 集合不支持使用下标访问其中的元素。(对) 80、相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。(对) 81、删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。(对) 82、已知列表 x 中包含超过 5 个以上的元素, 那么语句 x = x[:5]+x[5:] 表x 中的元素循环左移 5 位。(错) 的作用是将列 83、对于生成器对象 x = (3 for i in range(5)) ,连续两次执行 list(x) 的结果是一样的。 (错) 84、对于大量列表的连接, extend()方法比运算符 +具有更高的效率。(对) 85、表达式 {1, 3, 2} > {1, 2, 3} 的值为 True。(错) 的值为 True 则说明 86、列表对象的 extend()方法属于原地操作,调用前后列表对象的地址不变。(对) 87、对于数字 n,如果表达式 0 not in [n%d for d in range(2, n)] n 是素数。(对) 88、表达式 a‘+’1 的值为 b’’。(错) 89、创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如 (对) 90、表达式 list('[1, 2, 3]') 的值是 [1, 2, 3] 。(错) 91、同一个列表对象中的元素类型可以各不相同。(对) 92、同一个列表对象中所有元素必须为相同类型。(错) 93、已知 x 为非空列表, 那么执行语句 x[0] = 3 之后,列表对象 x 的内存地址不变。(对) 94、列表可以作为集合的元素。(错) 95、集合可以作为列表的元素。(对) 96、元组可以作为集合的元素。(对) 97、集合可以作为元组的元素。(对) 98、字典可以作为集合的元素。(错) 99、集合可以作为字典的键。(错) 100、集合可以作为字典的值。(对) 101、可以使用 del 删除集合中的部分元素。(错) 102、列表对象的 pop() 方法默认删除并返回最后一个元素,如果列表已空则抛出异常。 (对) 103、表达式 {1, 2} * 2 的值为 {1, 2, 1, 2} 。(错) 104、Python 字典支持双向索引。(错) 105、Python 集合支持双向索引。(错) 106、Python 元组支持双向索引。(对) 107、假设 re 模块已成功导入,并且有 for i in range(4)])+'$') ,那么表达式 (错) 生成20 个不重复的整数。(错) 109、假设 random 模块已导入, 那么表达式 random.sample(range(10), 7) 的作用是生成 7个不重复的整数。(对) 110、使用 random 模块的函数 randint(1, 100) 获取随机数时,有可能会得到 (对) 112、已知 x = 3 ,那么执行 x += 6 语句前后 x 的内存地址是不变的。(错) 100。 pattern = re.compile('^'+'\\.'.join([r'\\d{1,3}' pattern.match('192.168.1.103') 的值为 None。 (3,)。 108、假设 random 模块已导入, 那么表达式 random.sample(range(10), 20) 的作用是 111、已知 x = (1, 2, 3, 4) ,那么执行 x[0] = 5 之后, x 的值为 (5, 2, 3, 4) 。(错) 113、成员测试运算符 in 作用于集合时比作用于列表快得多。(对) 114、内置函数 len()返回指定序列的元素个数,适用于列表、元组、字符串、字典、集 合以及 range、zip 等迭代对象。(对) 115、已知 x 和 y 是两个等长的整数列表, 那么表达式 sum((i*j for i, j in zip(x, y))) 作用是计算这两个列表所表示的向量的内积。(对) 116、已知 x 和 y 是两个等长的整数列表, 那么表达式 [i+j for i,j in zip(x,y)] 计算这两个列表所表示的向量的和。(对) 的 的作用时 117、表达式 int('1'*64, 2) 与 sum(2**i for i in range(64)) 的计算结果是一样的, 但是前者更快一些。(对) 118、已知 x = list(range(20)) ,那么语句 del x[::2] 可以正常执行。(对) 119、已知 x = list(range(20)) ,那么语句 x[::2] = [] 可以正常执行。(错) 120、已知 x = list(range(20)) ,那么语句 print(x[100:200]) 无法正常执行。(错) 121、已知 x 是个列表对象,那么执行语句 作用到 x 上。(对) 122、已知 x 是个列表对象,那么执行语句 同样作用到 x 上。(错) 123、在 Python 中,变量不直接存储值,而是存储值的引用,也就是值在内存中的地址。 (对) 124、表达式 (i**2 for i in range(100)) 的结果是个元组。(错) 125、在 Python 中元组的值是不可变的, 因此,已知 x = ([1], [2]) ,那么语句 x[0].append(3)是无法正常执行的。(错) 126、Python 内置的字典 dict 中元素是按添加的顺序依次进行存储的。(错) 127、Python 内置的集合 set 中元素顺序是按元素的哈希值进行存储的,并不是按先后顺 序。(对) 128、已知 x = {1:1, 2:2} ,那么语句 x[3] =3 无法正常执行。(错) 129、Python 内置字典是无序的,如果需要一个可以记住元素插入顺序的字典,可以使 用 collections.OrderedDict 。(对) 130、已知列表 x = [1, 2, 3, 4] ,那么表达式 x.find(5) 的值应为 -1。(错) 131、列表对象的排序方法 (错) 移3 位。(对) 133、如果仅仅是用于控制循环次数,那么使用 for i in range(20) 和 for i in range(20, 40) 的作用是等价的。(对) 134、在循环中 continue 语句的作用是跳出当前循环。(错) 135、在编写多层循环时, 为了提高运行效率, 应尽量减少内循环中不必要的计算。 (对) 136、带有 else 子句的循环如果因为执行了break 语句而退出的话, 则会执行 else子句中的代码。(错) sort()只能按元素从小到大排列,不支持别的排序方式。 y = x[:] 之后,对 y 所做的任何操作都会y = x 之后,对 y 所做的任何操作都会同样 132、已知 x 是一个列表, 那么 x = x[3:] + x[:3] 可以实现把列表 x 中的所有元素循环左 137、对于带有 else 子句的循环语句,如果是因为循环条件表达式不成立而自然结束循 环,则执行 else 子句中的代码。(对) 138、在条件表达式中不允许使用赋值运算符“=”,会提示语法错误。(对) 139、在 UTF-8 编码中一个汉字需要占用3 个字节。(对) 140、在 GBK 和 CP936 编码中一个汉字需要 2 个字节。(对) 141、在 Python 中,任意长的字符串都遵守驻留机制。(错) 142、Python 运算符 %不仅可以用来求余数,还可以用来格式化字符串。(对) 143、Python 字符串方法 replace()对字符串进行原地修改。(错) 144、如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join() 方法比运 算符+具有更高的效率。(对) 145、正则表达式模块re 的 match()方法是从字符串的开始匹配特定模式,而search()方 法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match 对象,匹配失败则返回空值 None。(对) 146、已知 x 为非空字符串,那么表达式 (错) 147、已知 x 为非空字符串,那么表达式 (对) ''.join(x.split()) == x ','.join(x.split(',')) == x 的值一定为 True。的值一定为 True。 148、当作为条件表达式时, [] 与 None 等价。(对) 149、表达式 [] == None 的值为 True。(错) 150、当作为条件表达式时, {} 与 None 等价。(对) 151、表达式 {}==None 的值为 True。(错) 的值为 True。(对) 0 都等价于 False。(对) 152、表达式 pow(3,2) == 3**2 代对象以及任意形式的数字 154、正则表达式对象的 配。(对) 153、当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭 match() 方法可以在字符串的指定位置开始进行指定模式的匹 可以指定多个分隔符, 而字符串对象的 155、使用正则表达式对字符串进行分割时, split()方法无法做到这一点。(对) 156、正则表达式元字符“ ^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。(对) 157、正则表达式元字符“ \\s”用来匹配任意空白字符。(对) 158、正则表达式 元字符“ \\d”用来匹配任意数字字符。(对) 159、已知 x 和 y 是两个字符串,那么表达式 sum((1 for i,j in zip(x,y) if i==j)) 来计算两个字符串中对应位置字符相等的个数。(对) 可以用 160、Python 3.x 中字符串对象的 encode()方法默认使用 utf8 作为编码方式。(对) 161、已知 x = 'hellow world.'.encode() ,那么表达式 x.decode('gbk')的值为 'hellow world.' 。(对) 162、已知 x = 'Python 是一种非常好的编程语言 '.encode(),那么表达式 '。(错) 18 位或 15 位数字字 x.decode('gbk')的值为'Python 是一种非常好的编程语言 163、正则表达式 '^http'只能匹配所有以 'http'开头的字符串。(对) 164、正则表达式 '^\\d{18}|\\d{15}$' 只能检查给定字符串是否为 符, 并不能保证一定是合法的身份证号。(对) 165、正则表达式 '[^abc]' 可以一个匹配任意除 'a'、'b'、'c'之外的字符。(对) 166、正则表达式 'python|perl'或'p(ython|erl)' 都可以匹配 'python'或'perl'。(对) 167、字节串 b'hello world' 和 b'hello world.' 的 MD5 值相差很小。(错) 168、调用函数时,在实参前面加一个型号 169、在 Python 3.x 中语句 print(*[1,2,3]) 170、函数是代码复用的一种方式。(对) 171、定义函数时, 即使该函数不需要接收任何参数, 示这是一个函数。(对) 172、编写函数时,一般建议先对参数进行合法性检查, (对) 也必须保留一对空的圆括号来表然后再编写正常的功能代码。 *表示序列解包。(对) 不能正确执行。(错) 173、一个函数如果带有默认值参数,那么必须所有参数都设置默认值。(错) 174、定义 Python 函数时必须指定函数返回值类型。(错) 175、定义 Python 函数时,如果函数中没有 (对) 176、如果在函数中有语句 177、函数中必须包含 return 语句。(错) 178、函数中的 return 语句一定能够得到执行。(错) 179、不同作用域中的同名变量之间互相不影响,也就是说, 在不同的作用域内可以定义同名的变量。(对) 180、全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性, 因此应尽量避免过多使用全局变量。(对) 181、函数内部定义的局部变量当函数调用结束后被自动删除。(对) 182、在函数内部, 既可以使用 global 来声明使用外部全局变量, 也可以使用 global 直接定义全局变量。(对) 183、在函数内部没有办法定义全局变量。(错) 184、在函数内部直接修改形参的值并不影响外部实参的值。(对) 185、在函数内部没有任何方法可以影响实参的值。(错) 186、调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。(错) 187、在同一个作用域内,局部变量会隐藏同名的全局变量。(对) 188、形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。 (对) 189、假设已导入random 标准库,那么表达式max([random.randint(1, ange(10)]) 的值一定是 10。(错) 10) for i in return 语句,则默认返回空值 None。 return 3,那么该函数一定会返回整数 3。(错) 190、Python 标准库 random 的方法 randint(m,n) 用来生成一个 [m,n] 区间上的随机整数。(对) 191、在函数内部没有任何声明的情况下直接为某个变量赋值, 内部的局部变量。(对) 192、在 Python 中定义函数时不需要声明函数参数的类型。(对) 193、在 Python 中定义函数时不需要声明函数的返回值类型。(对) 194、在函数中没有任何办法可以通过形参来影响实参的值。(错) 195、已知 x = 3,那么执行语句 x+=6 之后, x 的内存地址不变。(错) *符号表示可变长度参数,可以接收 196、在定义函数时,某个参数名字前面带有一个 任意多个普通实参并存放于一个元组之中。(对) 这个变量一定是函数 197、在定义函数时,某个参数名字前面带有两个 *符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。(对) 198、定义函数时, 带有默认值的参数必须出现在参数列表的最右端, 默认值的参数右边不允许出现没有默认值的参数。(对) 199、在调用函数时, 可以通过关键参数的形式进行传值, 顺序的麻烦。(对) 任何一个带有 从而避免必须记住函数形参 200、在调用函数时,必须牢记函数形参顺序才能正确传值。(错) 201、调用函数时传递的实参个数必须与函数形参个数相等才行。(错) 202、在编写函数时,建议首先对形参进行类型检查和数值范围检查之后再编写功能代 码,或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。(对) 203、lambda 表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式。(对) 204、g = lambda x: 3 不是一个合法的赋值表达式。(错) 205、包含 yield 语句的函数一般成为生成器函数,可以用来创建生成器对象。(对) 206、在函数中 yield 语句的作用和 return 完全一样。(错) 207、语句 pass仅起到占位符的作用,并不会做任何操作。(对) 208、无法使用 lambda 表达式定义有名字的函数。(错) 209、在 Python 中定义类时, 如果某个成员名称前有 (对) 211、Python 中一切内容都可以称为对象。(对) 212、栈和队列的都具有先入后出的特点。(错) 213、在一个软件的设计与开发中, 规范。(对) 所有类名、函数名、变量名都应该遵循统一的风格和 在类的外部通过对象 2 个下划线则表示是私有成员。 210、在类定义的外部没有任何办法可以访问对象的私有成员。(错) 214、定义类时所有实例方法的第一个参数用来表示对象本身, 名来调用实例方法时不需要为该参数传值。(对) 215、在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。 (错) 216、Python 中没有严格意义上的私有成员。(对) 217、在 Python 中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了__mul__() 方法即可支持该类对象的 ** 运算符。(错) _”表示解释器中最后一次显示的内容或最后一 218、在 IDLE 交互模式下,一个下划线“ 次语句正确执行的输出结果。(对) 219、对于 Python 类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来 访问。(对) 220、运算符“ -”可以用于集合的差集运算。(对) 221、如果定义类时没有编写析构函数, 的资源清理工作。(对) Python 将提供一个默认的析构函数进行必要 222、已知 seq 为长度大于 10 的列表, 并且已导入 random 模块,那么[random.choice(seq) for i in range(10)] 和 random.sample(seq,10)等价。(错) 223、在派生类中可以通过“基类名 .方法名 ()”的方式来调用基类中的方法。(对) 224、Python 支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父 类名,则 Python 解释器将从左向右按顺序进行搜索。(对) 225、在 Python 中定义类时实例方法的第一个参数名称必须是 self。(错) 226、在 Python 中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。 (对) 227、定义类时如果实现了 __contains__() 方法,该类对象即可支持成员测试运算 (对) 228、定义类时如果实现了 __len__() 方法,该类对象即可支持内置函数 (对) 229、定义类时实现了 __eq__()方法,该类对象即可支持运算符 230、定义类时实现了 __pow__() 方法,该类对象即可支持运算符 231、Python 类的构造函数是 __init__() 。(对) 232、定义类时,在一个方法前面使用 法。(对) @classmethod 进行修饰,则该方法属于类方 len()。 in。 ==。(对) ** 。(对) 233、定义类时, 在一个方法前面使用 @staticmethod 进行休息, 则该方法属于静态方法。(对) 234、通过对象不能调用类方法和静态方法。(错) 235、在 Python 中可以为自定义类的对象动态增加新成员。(对) 236、Python 类不支持多继承。(错) 237、属性可以像数据成员一样进行访问,但赋值时具有方法的优点,可以对新值进行检查。(对) 238、只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。(错) 239、任何包含 __call__()方法的类的对象都是可调用的。(对) 240、在 Python 中函数和类都属于可调用对象。(对) 241、函数和对象方法是一样的,内部实现和外部调用都没有任何区别。(错) 242、在设计派生类时,基类的私有成员默认是不会继承的。(对) 243、如果在设计一个类时实现类 Python 内置函数 len()。(对) __len__()方法,那么该类的对象会自动支持 244、扩展库 os 中的方法 remove()可以删除带有只读属性的文件。(错) 245、使用内置函数 open()且以 ”w”模式打开的文件,文件指针默认指向文件尾。(错) 246、使用内置函数 open()打开文件时, 只要文件路径正确就总是可以正确打开的。 (错) 247、使用 print() 函数无法将信息写入文件。(错) 248、对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。(对) 249、Python 标准库 os 中的方法 startfile() 可以启动任何已关联应用程序的文件,并自动 调用关联的程序。(对) 250、Python 标准库 os 中的方法 startfile() 可以用来打开外部程序或文件,系统会自动关 联相应的程序来打开或执行指定的文件。(对) 251、假 设 os 模 块 已 导 入 , 那 么 列 表 推 导 式 [filename for filename in os.listdir('C:\\\\Windows') if filename.endswith('.exe')] 的作用是列出 C:\\Windows 文件夹中所有扩展名为 .exe 的文件。(对) 252、二进制文件不能使用记事本程序打开。(错) 253、使用普通文本编辑器软件也可以正常查看二进制文件的内容。(错) 254、二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。(对) 255、Python 标准库 os 中的方法 isfile() 可以用来测试给定的路径是否为文件。(对) 256、Python 标准库 os 中的方法 exists() 可以用来测试给定路径的文件是否存在。(对) 257、Python 标准库 os 中的方法 isdir() 可以用来测试给定的路径是否为文件夹。(对) 258、Python 标准库 os中的方法 listdir() 返回包含指定路径中所有文件和文件夹名称的列 表。(对) 259、Python 扩展库 xlwt 支持对 Excel 2003 或更低版本的 Excel 文件进行写操作。 (对) 260、Python 扩展库 xlrd 支持对 Excel 2003 或更低版本的 Excel 文件进行读操作。(对) 261、标准库 os 的 rename()方法可以实现文件移动操作。(对) 262、标准库 os 的 listdir() 方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件。(对) 263、文件对象的 tell() 方法用来返回文件指针的当前位置。(对) 264、以写模式打开的文件无法进读操作。(对) 265、假设已成功导入 os 和 sys 标准库,那么表达式 os.path.dirname(sys.executable) 的值为 Python 安装目录。(对) 266、以读模式打开文件时,文件指针指向文件开始处。(对) 267、以追加模式打开文件时,文件指针指向文件尾。(对) 268、二进制文件也可以使用记事本程序打开,只是无法正确阅读和理解其中的内容。(对) 269、文本文件是可以迭代的, 可以使用 for line in fp 类似的语句遍历文件对象 中的每一行。(对) 270、Python 的主程序文件 python.exe 属于二进制文件。(对) fp 271、对字符串信息进行编码以后, 必须使用同样的或者兼容的编码格式进行解码才能还 原本来的信息。(对) 272、使用 pickle 进行序列化得到的二进制文件使用struct 也可以正确地进行反序列化。(错) 273、已知当前文件夹中有一个文件 正确导入,那么可以通过语句 性。(对) readme.txt 具有只读属性,假设标准库 os 已 os.chmod('readme.txt', 0o777) 来删除该文件的只读属 274、Python 标准库 os 的函数 remove()不能删除具有只读属性的文件。(对) 275、在try...except...else 结构中,如果 try 块的语句引发了异常则会执行else块中的代码。(错) 276、异常处理结构中的 finally 块中代码仍然有可能出错从而再次引发异常。(对) 277、程序中异常处理结构在大多数情况下是没必要的。(错) 278、带有 else 子句的异常处理结构,如果不发生异常则执行else 子句中的代码。(对) 279、异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。(对) 280、在异常处理结构中,不论是否发生异常, finally 子句中的代码总是会执行的。 (对) 281、由于异常处理结构try...except...finally... 中 finally 里的语句块总是被执行的, 所以把关闭文件的代码放到finally 块里肯定是万无一失,一定能保证文件被正确关闭并且不会引发任何异常。(错) 282、在 GUI 设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。(对) 283、在 GUI 设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多 个选项中只能选择一个,当选择发生变化之后,之前选中的选项自动失效。(对) 284、Python 代码可以内嵌在 asp 文件中。(对) 285、无法配置 IIS 来支持 Python 程序的运行。(错) 286、使用 TCP 协议进行通信时,必须首先建立连接,然后进行数据传输,最后再关闭连接。(对) 287、TCP 是可以提供良好服务质量的传输层协议,所以在任何场合都应该优先考虑使用。(错) 288、可以使用 py2exe 或 pyinstaller 等扩展库把 Python 源程序打包成为 exe 文件,从而脱离 Python 环境在 Windows 平台上运行。(对) 289、Python 程序只能在安装了 Python 环境的计算机上以源代码形式运行。(错) 290、继承自 threading.Thread 类的派生类中不能有普通的成员方法。(错) 291、Python 标准库 threading 中的 Lock 、RLock 、Condition 、Event、Semaphore对象都 可以用来实现线程同步。(对) 292、在编写应用程序时,应合理控制线程数量,线程并不是越多越好。(对) 293、在多线程编程时,当某子线程的daemon 属性为 False 时,主线程结束时会检测该子线程是否结束,如果该子线程尚未运行结束,则主线程会等待它完成后再退出。 (对) 294、在 4 核 CPU 平台上使用多线程编程技术可以很轻易地获得400%的处理速度提升。(错) 295、多线程编程技术主要目的是为了提高计算机硬件的利用率,没有别的作用了。 (错) 296、Python 只能使用内置数据库 Oracle、MySQL 等数据库。(错) 297、使用 OpenGL 画图时,画点是最基本的操作,具体生成的图形由glBegin() 函数指 定的 mode 来决定。例如, mode 值为 GL_TRIANGLES 时表示将要绘制三角形。 (对) 298、OpenGL 采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该 状态,否则该状态将一直保持。(对) 三、简答题 1、简单解释 Python 基于值的自动内存管理方式? (Python 采用的是基于值得内存管理方式,在 Python 中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python 具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python 自动将其删除。) 2、写出 Python 运算符 & 的两种功能? (1)数字位运算; 2)集合交集运算。) 3、在 Python 中导入模块中的对象有哪几种方式? (1)import 模块名 [as 别名];2)from 模块名 import 对象名 [ as 别名 ];3)from math import * ) 4、解释 Python 脚本程序的“ __name__”变量及其作用?(每个 都有一个“ __name__”属性。如果脚本作为模块被导入,则其“ 利用“ __name__”属性即可控制 Python 程序的运行方式。) 5、为什么应尽量从列表的尾部进行元素的增加与删除操作?(当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。) 6、分析逻辑运算符“ or”的短路求值特性?(假设有表达式“表达式1 or 表达式 2”,如果表达式 1 的值等价于 True,那么无论表达式2 的值是什么, 整个表达式的值总是等价于 True。因此,不需要再计算表达式2 的值。) 7、简单解释 Python 中短字符串驻留机制? (对于短字符串, 将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。) 8、异常和错误有什么区别? (异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。 严格来说, 语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。) Python 脚本在运行时__name__”属性的值被自 SQLite,无法访问 MS SQLServer 、ACCESS 或 动设置为模块名; 如果脚本独立运行, 则其“__name__”属性值被自动设置为 “__main__”。 9、使用 pdb 模块进行Python 程序调试主要有哪几种用法? 1)在交互模式下使用pdb 模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2)在程序中嵌入断点来实现调试功能。 在程序中首先导入pdb 模块, 然后使用 pdb.set_trace()在需要的位置设置断点。如果程序中存在通过该方法调用显式插入的断点,那么在命令提示符环境下执行该程序或双击执行程序时将自动打开pdb 调试环境,即使该程序当前不处于调试状态。 3)使用命令行调试程序。在命令行提示符下执行“python –m pdb 脚本文件名”,则直接进入调试环境;当调试结束或程序正常结束以后,pdb 将重启该程序。) 10、阅读下面的代码,并分析假设文件 “D:\est.txt ”不存在的情况下两段代码可能发生 的问题。 代码 1: >>> try: fp = open(r'd:\est.txt') print('Hello world!', file=fp) finally: fp.close() 代码 2: >>> try: fp = open(r'd:\est.txt', 'a+') print('Hello world!', file=fp) finally: fp.close() 答: 假设文件“ D:\est.txt ”不存在,那么第一段代码会抛出异常,提示fp 没有定义;第二段代码执行正常。 原因是第二段代码使用内置函数open()打开指定文件时如果不存在则会创建该文件,从而不会抛出异常。 11、下面的代码本意是把当前文件夹中所有html 文件都改为 htm 文件,仔细阅读代码, 简要说明可能存在的问题。 import os file_list=os.listdir(\".\") for filename in file_list: pos = filename.rindex(\".\") if filename[pos+1:] == \"html\": newname = filename[:pos+1]+\"htm\" os.rename(filename,newname) print(filename+\" 更名为: \"+newname) 答: 对于字符串对象,如果要查找的子字符串不存在,则 rindex() 方法会抛出异常。所以,如果 当前文件夹中有不包含圆点的文件名或者子文件夹名,上面的代码会抛出异常而崩溃。 四、编程题 1、编写程序, 在 D 盘根目录下创建一个文本文件 hello world 。 答: fp = open(r ’D:\est.txt ’, ‘a+’) print( ‘hello world ’, file=fp) fp.close() 2、写出下面代码的优化版本,提高运行效率。 x = list(range(500)) for item in x: t = 5**5 print(item+t) 答: x = list(range(500)) t = 5**5 for item in x: print(item+t) 3、编写程序, 生成一个包含20 个随机整数的列表,然后对其中偶数下标的元素进行降序排 列,奇数下标的元素不变。(提示:使用切片。) 答: import random x = [random.randint(0,100) for i in range(20)] print(x) y = x[::2] y.sort(reverse=True) x[::2] = y print(x) 4、写出下面代码的执行结果。 def Join(List, sep=None): return (sep or ',').join(List) print(Join(['a', 'b', 'c'])) print(Join(['a', 'b', 'c'],':')) 答: a,b,c test.txt,并向其中写入字符串 a:b:c 5、写出下面代码的运行结果。 def Sum(a, b=3, c=5): return sum([a, b, c]) print(Sum(a=8, c=2)) print(Sum(8)) print(Sum(8,2)) 答: 13 16 15 6、写出下面代码的运行结果。 def Sum(*p): return sum(p) print(Sum(3, 5, 8)) print(Sum(8)) print(Sum(8, 2, 10)) 答: 16 8 20 7、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO 。 答: import math def IsPrime(v): n = int(math.sqrt(v)+1) for i in range(2,n): if v%i==0: return 'No' else: return 'Yes' 8、编写函数,模拟Python 内置函数 sorted()。 答: def Sorted(v): t = v[::] r = [] while t: tt = min(t) r.append(tt) t.remove(tt) return r 9、编写程序,生成包含 20 个随机数的列表,然后将前10 个元素升序排列,后 10 个元素降 序排列,并输出结果。 答: import random x = [random.randint(0,100) for i in range(20)] print(x) y = x[0:10] y.sort() x[0:10] = y y = x[10:20] y.sort(reverse=True) x[10:20] = y print(x) 10、编写程序,运行后用户输入4 位整数作为年份,判断其是否为闰年。如果年份能被 400 整除,则为闰年;如果年份能被4 整除但不能被 100 整除也为闰年。 答: x = input('Please input an integer of 4 digits meaning the year:') x = eval(x) if x%400==0 or (x%4==0 and not x%100==0): print('Yes') else: print('No') 11、编写程序,实现分段函数计算,如下表所示。 答: x = input('Please input x:') x = eval(x) if x<0 or x>=20: print(0) elif 0<=x<5: print(x) elif 5<=x<10: print(3*x-5) elif 10<=x<20: print(0.5*x-2) 12、阅读下面的程序,判断其是否可以正常运行,如果可以运行则写出执行结果,如果不能 运行则写出理由。 class Test: def __init__(self, value): self.__value = value @property def value(self): return self.__value t = Test(3) t.value = 5 print(t.value) 答: 不能运行。程序中定义的是只读属性,不能修改属性的值。 13、下面代码的功能是,随机生成 50 个介于 [1,20] 之间的整数, 然后统计每个整数出现频率。 请把缺少的代码补全。 import random x = [random.____________(1,20) for i in range(_______)] r = dict() for i in x: r[i] = r.get(i, _____)+1 for k, v in r.items(): print(k, v) 答: 分别填写 randint、50、0 14、假设有 Python 程序文件 demo.py,代码如下: def main(): if __name__ == '__main__': print(1) else: print(2) main() 将该程序文件直接运行时输出结果为_________,作为模块导入时得到结果。 (1、2) 15、下面程序的执行结果是 __________________。( 1) s = 0 for i in range(1,101): s += i else: print(1) 16、下面程序的执行结果是 ______________。(1275) s = 0 for i in range(1,101): s += i if i == 50: print(s) break else: print(1) ___________- 17、下面的程序是否能够正常执行,若不能,请解释原因;若能,请分析其执行结果。 from random import randint result = set() while True: result.add(randint(1,10)) if len(result)==20: break print(result) 答:无法正确执行,因为该程序的功能是从 [1,10] 区间中选择 20 个不同的随机整数, 而该区间并没有这么多整数,所以程序死循环。 18、下面的代码是否能够正确运行,若不能请解释原因;若能,请分析其执行结果。 >>> x = list(range(20)) >>> for i in range(len(x)): del x[i] 答:无法正确执行, 因为删除列表元素时会影响其他元素在列表中的索引, 代码会抛出下标越界的异常。 19、阅读下面的代码,解释其功能。 >>> x = list(range(20)) >>> for index, value in enumerate(x): if value == 3: x[index] = 5 答:将列表 x 中值为 3 的元素修改为 5。 20、阅读下面的代码,解释其功能。 >>> x = [range(3*i, 3*i+5) for i in range(2)] >>> x = list(map(list, x)) >>> x = list(map(list, zip(*x))) 答:首先生成一个包含列表的列表,然后模拟矩阵转置。 21、阅读下面的代码,解释其功能。 >>> import string >>> x = string.ascii_letters + string.digits >>> import random >>> print(''.join(random.sample(x, 10))) 答:输出由英文字母大小写或数字组成的长度为 22、阅读下面的代码,分析其执行结果。 def demo(*p): return sum(p) print(demo(1,2,3,4,5)) 10 且不重复的随机字符串。 上面的 print(demo(1,2,3)) 答:输出结果为 15 6 23、阅读下面的代码,分析其执行结果。 def demo(a, b, c=3, d=100): return sum((a,b,c,d)) print(demo(1, 2, 3, 4)) print(demo(1, 2, d=3)) 答:输出结果为 10 9 24、下面的代码输出结果为 def demo(): x = 5 x = 3 demo() print(x) 25、下面函数的功能为 _______________。(将序列循环左移 回) def demo(lst, k): if k 26、编写函数,求任意整数的二进制形式中最后连续0 的个数。 def demo(n): b_n = bin(n) index = b_n.rfind('1') + 1 return len(b_n[index:]) 27、有 n 个乒乓球运动员打淘汰赛, 编写函数计算至少需要多少场比赛才能决出冠军, 不允许直接使用 n-1。 def demo(n): if n == 1: return 0 if n == 2: return 1 m, c = divmod(n, 2) return m + demo(c+m) k 位,得到新序列并返 _____________。(3) 28、使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡 5 元一只, 中鸡 3 元一只,小鸡 1 元三只,现有 100 元钱想买 100 只鸡,有多少种买法? (1)循环 >>> for x in range(21): for y in range(34): z = 100-x-y if z%3==0 and 5*x + 3*y + z//3 == 100: print(x,y,z) 0 25 75 4 18 78 8 11 81 12 4 84 (2)列表推导式 >>> [(x, y)%3==0 y, 100-x-y) and for x in range(21) for y in range(34) if (100-x- 5*x+3*y+(100-x-y)//3==100] [(0, 25, 75), (4, 18, 78), (8, 11, 81), (12, 4, 84)] 29、编写函数, 给定任意字符串,找出其中只出现一次的字符,如果有多个这样的字符,就全部找出。 def searchOne(s): # 创建空字典 d = dict() # 遍历字符串,并分别记录每个字符的出现次数 for ch in s: # 这里重点演示字典的 get()方法 1 0+1 # 如果这个字符出现过,加 # 如果这个字符第一次出现, d[ch] = d.get(ch, 0) + 1 # 列表推导式,查找所有只出现一次的字符 chs = [ch for ch, n in d.items() if n==1] # 返回最终结果,所有只出现一次的字符 return chs print(searchOne('abcdddca')) 30、阅读以下冒泡法排序代码,尝试写出优化代码,提高代码运行效率。 from random import randint def bubbleSort(lst): length = len(lst) for i in range(0, length): for j in range(0, length-i-1): #比较相邻两个元素大小,并根据需要进行交换 if lst[j] > lst[j+1]: lst[j], lst[j+1] = lst[j+1], lst[j] lst = [randint(1, 100) for i in range(20)] print('Before sort:\\n', lst) bubbleSort(lst) print('After sort:\\n', lst) 参考答案: from random import randint def bubbleSort(lst): length = len(lst) for i in range(0, length): flag = True for j in range(0, length-i-1): #比较相邻两个元素大小,并根据需要进行交换 if lst[j] > lst[j+1]: lst[j], lst[j+1] = lst[j+1], lst[j] flag = False if flag: break lst = [randint(1, 100) for i in range(20)] print('Before sort:\\n', lst) bubbleSort(lst) print('After sort:\\n', lst) 31、编写程序,用户输入带有千分位逗号的数字字符串,然后输出不带千分位逗号的数字字符串。如果输入字符串 '0'则退出程序。 参考答案: def convert(strNumber): return ''.join(strNumber.split(',')) while True: x = input(' 输入带有千分位逗号的数字: if x == '0': print('bye') break print(convert(x)) ') 32、编写程序, 用户输入不带千分位逗号的数字字符串, 字字符 串。 参考答案: def convert(strNumber): # 考虑小数的情况 temp = strNumber.split('.', 1) # 整数部分 first = temp[0] if not first.isdigit(): return '不是有效数字 ' # 小数部分 try: second = temp[1] if not second.isdigit(): return '不是有效数字 ' except: second = '' # 增加千分位逗号 def nested(s): result = [] length = len(s) index = length % 3 if index != 0: result.append(s[:index]) for i in range(index, length, 3): result.append(s[i:i+3]) return ','.join(result) first = nested(first) # 小数部分和整数部分的千分位不一样 if second: second = ''.join(reversed(second)) second = nested(second) second = ''.join(reversed(second)) # 删除两侧可能的 0 和千分位逗号 return '.'.join([first, second]).strip(',0') # 删除整数左侧可能的 0 和逗号 然后输出带千分位逗号的数 return first.lstrip('0,') # 测试 while True: x = input(' 输入不带千分位逗号的数字: if x == '0': print('bye') break print(convert(x)) ') 因篇幅问题不能全部显示,请点此查看更多更全内容