您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页《Python程序设计》试题库

《Python程序设计》试题库

来源:华佗健康网
Python 程序设计》题库

一、填空题 第一章 基础知识

1、 Python 安装扩展库常用的是 _______ 工具。( pip)

2、 Python 标准库 math 中用来计算平方根的函数是 ____________ 。( sqrt)

3、 Python 程序文件扩展名主要有 ___________ 和 _______ 两种,其中后者常用于 GUI 程序。

(py、pyw)

4、 Python 源代码程序编译后的文件扩展名为 ____________ 。( pyc)

5、 使用 pip 工具升级科学计算扩展库 numpy 的完整命令是 ____________________ 。( pip install

--upgrade numpy )

6、 使用 pip 工具查看当前已安装的 Python 扩展库的完整命令是 ________________ 。( pip list ) 7、 在 IDLE 交互模式中浏览上一条语句的快捷键是 _____________ 。( Alt+P ) 8、 在 Python 中 ________ 表示空类型。( None)

9、 列表、元组、字符串是 Python 的 __________ ( 有序无序 )序列。(有序) 10、 11、 12、

查看变量类型的 Python 内置函数是 ___________________ 。( type()) 查看变量内存地址的 Python 内置函数是 ____________________ 。( id())

以3为实部4为虚部,Python复数的表达形式为 _____________ 或 __________ 。 (3+4j、

3+4J)

13、 14、 15、 16、

Python 运算符中用来计算整商的是 ___________ 。 ( //) Python 运算符中用来计算集合并集的是 __________ 。 ( |)

使用运算符测试集合包含集合 A 是否为集合 B 的真子集的表达式可以写作 。 ( A( del)

17、 18、 19、 20、 21、 22、 23、 24、

表达式 int('123', 16) 的值为 ____________ 。( 291) 表达式 int('123', 8) 的值为 _____________ 。( 83) 表达式 int('123') 的值为 _________________ 。( 123) 表达式 int('101',2) 的值为 ______________ 。( 5) 表达式 abs(-3) 的值为 ______________ 。( 3)

Python 3.x 语句 print(1, 2, 3, sep=':') 的输出结果为 _________________ 。( 1:2:3) 表达式 int(4**0.5) 的值为 ________________ 。( 2)

Python 内置函数 ______________ 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。( len())

Python 内置函数 ________________ 用来返回序列中的最大元素。( Python 内置函数 ________________ 用来返回序列中的最小元素。(

max() ) min() )

25、 26、 27、 28、

Python 内置函数 _____________________ 用来返回数值型序列中所有元素之和。 _____________________________________ ( sum())

为了提高 Python 代码运行速度和进行适当的保密, 可以将 Python 程序文件编译为 扩展名 __________ 的文件。( pyc)

29、 30、 31、 32、 33、 34、 35、 36、 37、

已知 x = 3 ,那么执行语句 x += 6 之后, x 的值为 ________________________ 。( 9) 表达式 3 | 5 的值为 ________________ 。( 7) 表达式 3 & 6 的值为 _______________ 。( 2) 表达式 3 ** 2 的值为 _______________ 。( 9) 表达式 3 * 2 的值为 _______________ 。( 6) 表达式 3<<2 的值为 _____________________ 。( 12) 表达式 65 >> 1 的值为 ___________________ 。( 32) 表达式 chr(ord('a'F32)的值为 _______________ 。( 'A) 表达式 chr(ord('a')-32) 的值为 ____________ 。 ( 'A')

38、 39、 40、

表达式 abs(3+4j)的值为 ________________ 。( 5.0) 表达式 callable(int)的值为 ______________ 。( True) 假设有Python程序文件abc.py,其中只有一条语句

print(__name__),那么直接运

行该程序时得到的结果为 _______________ 。( __main__) 41、 42、 43、

表达式16**0.5的值为 ________________________ 。( 4.0) 表达式 type({3})的值为 _______________________ 。( set)

表达式 isinstance('Hello world', str)的值为 _______________________ 。( True)

第二章 Python序列 44、 45、 46、 47、

表达式[1,2, 3]*3 的执行结果为 __________________________ 。( [1,2, 3, 1,2, 3, 1,2, 3]) list(map(str, [1,2, 3]))的执行结果为 _________________________ 。( [ 1', 2', 3']) 语句x = 3==3, 5执行结束后,变量 x的值为 _________________ 。( (True, 5)) 已知x = 3,并且id(x)的返回值为,那么执行语句

x += 6之后,表达式的值为

___________ 。( False) 48、 49、 50、

已知x = 3,那么执行语句

x *= 6之后,x的值为 ____________________ 。( 18)

表达式[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、

使用列表推导式生成包含 10个数字5的列表,语句可以写为 __________________ 。( [5

for i in range(10)]) 53、

假设有列表 a = ['name', 'age', 'sex']和 b = ['Dong', 38, 'Male'],请使用一个语句将这两

个列表的内容转换为字典, 并且以列表a中的元素为“键”,以列表b中的元素为“值”, 这个语句可以写为 _______________________ 。( c = dict(zip(a, b)))

、 55、 56、 57、

任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ____________ 。( -1) Python 语句 list(range(1,10,3))执行结果为 _____________________ 。( [1,4, 7]) 表达式 list(range(5)) 的值为 ____________________ 。([0, 1, 2, 3, 4])

已知 a = [1, 2, 3] 和 b = [1, 2, 4] ,那么 id(a[1])==id(b[1]) 的执行结果为 ____________ 。

( True ) 58、 59、

切片操作 list(range(6))[::2] 执行结果为 ___________________ 。 ( [0, 2, 4] )

使用切片操作在列表对象 x 的开始处增加一个元素 3 的代码为 ______________ 。 ( 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、 、 65、

语句 x = (3,) 执行后 x 的值为 ___ ____________ 。 ( (3,)) 语句 x = (3) 执行后 x 的值为 ___ _____________ 。( 3) 已知 x=3 和 y=5 ,执行语句 x, y = y, x 后 x 的值是 ____ 。 ( 5)

66、 可以使用内置函数 ______________ _ _查看包含当前作用域内所有全局变量和值的字

典。 ( globals()) 67、

可以使用内置函数 ______________ _____ 查看包含当前作用域内所有局部变量和值

的字典。( locals()( ) 68、

字典中多个元素之间使用 _______________ 分隔开,每个元素的“键”与“值”之间使

用 _______ 分隔开。(逗号、冒号) 69、

字典对象的 ____________ 方法可以获取指定“键”对应的“值”,并且可以在指定

键”不存在的时候返回指定值,如果不指定则返回 None°( get()) 70、 字典对象的 ______________ 方法返回字典中的“键 -值对”列表。( items())

71、 72、 73、

字典对象的 ______________ 方法返回字典的“键”列表。( keys()) 字典对象的 _______________ 方法返回字典的“值”列表。(

values())

已知x = {1:2},那么执行语句 x[2] = 3之后,x的值为 _______________________ 。 ({1: 2,

2: 3} ) 74、 75、 76、

表达式 {1, 2, 3, 4} - {3, 4, 5, 6} 表达式 set([1, 1, 2, 3])的值为 __ 使用 列表推 导式得到 100

的值为 __________ _______ 。 ({1, 2})

__。({1, 2, 3})

以内所有能被

13 整除的数的代码可以写作

)

___ 。( [i for i in range(100) if i%13==0]

77、

78、

已知 x = [3, 5, 7] ,那么表达式 已知 x = [3, 5, 7] ,那么执行语句

x[10:]的值为

_______ 。 ( [])

之后, x 的值为

x[len(x):] = [1, 2] ______________________________ ([3, 5, 7, 1, 2]) 79、

已 知 x = [3, 7, 5] , 那 么 执 行 语 句 x.sort(reverse=True) 之 后 , x 的 值 为

__________________ 。 ( [7, 5, 3] ) 80、

已知x = [3, 7, 5],那么执行语句

x = x.sort(reverse=True)之后,x的值为 ___________ 。

( None ) 81、

已知 x = [1, 11, 111],那么执行语句 x.sort(key=lambda x: len(str(x)), reverse=True)

之后,x 的值为 _____________________ 。( [111, 11, 1]) 82、 83、

2]) 84、

表达式 list(map(list,zip(*[[1, 2, 3], [4, 5, 6]]))) 的值为 ______________________ 。([[1, 4], [2, 表达式 list(zip([1,2], [3,4])) 的值为 ______________________________ 。 ([(1, 3), (2, 4)]) 已知 x = [1,2, 3, 2, 3],执行语句 x.pop()之后,x 的值为 __________________ 。 ([1,2, 3,

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) for i in x if i==3] 的 值 为

______________ 。( [0, 0]) 88、

已知列表 x = [1, 2] ,那么表达式 list(enumerate(x)) 的值为 ____________________ 。([(0,

1), (1, 2)] )

、 已知 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、 92、

2]) 93、 94、 95、

已知x = [3, 5, 7],那么执行语句 x[:3] = [2]之后,x的值为 _______________________ ([ 2]) 已知 x 为非空列表,那么执行语句 y = x[:] 之后, id(x[0]) == id(y[0]) 的值为

。 ( True)

已知 x = list(range(10)) ,则表达式 x[-4:] 的值为 ______________ 。( [6, 7, 8, 9]) 已知x = [3, 5, 7],那么执行语句 x[1:] = [2]之后,x的值为 ______________________ 。([3,

已知 x = [1, 2, 3, 2, 3] ,执行语句 x.remove(2) 之后, x 的值为 _______________ 。 ([1,

3, 2, 3])

96、 97、 98、 99、 100 、 101 、 102、

表达式 len([i for i in range(10)]) 表达式 len(range(1,10)) 的值为

的值为 ____ ___ 。 ( 10)

。( 9)

表达式 range(10)[-1] 的值为 __ _________ 。( 9) 表达式 range(10,20)[4] 的值为 _ _________ 。( 14 )

表达式 round(3.4) 的值为 _____ ______ 。( 3)

表达式 round(3.7) 的值为 _____ ____ 。( 4) 已知 x = (3), 那么表达式 x * 3 的值为 _________ ____ 。( 9)

103、 104、

已知 x = (3,), 那么表达式 x * 3 的值为 __________ ______ 。 ( (3, 3, 3)) 假设列表对象 x = [1, 1, 1],那么表达式 id(x[0]) = = id(x[2]) 的值为 ___

(True) 105、

已知列表 x = list(range(10)) ,那么执行语句 del x[::2] 之后, x 的值为 _____________ 。

([1, 3, 5, 7, 9] ) 106、

已知列表x = [1,2, 3, 4],那么执行语句 del x[1]之后x的值为 ___________________ 。([1,

3, 4]) 107、 108、 109、

表达式 [1] * 2 的值为 ________________ ____ 。 ([1, 1])

表达式 [1, 2] * 2 的值为 ______________ _ __。([1, 2, 1, 2]) 已知列表 x = [1, 2, 3], 那么执行语句

________ x.insert(1, 4) 只有, x 的值为 ___

[1, 4, 2, 3]) 110、

已知列表 x = [1, 2, 3], 那么执行语句

________ x.insert(0, 4) 只有, x 的值为 ___

[4, 1, 2, 3]) 111、 112、

已知列表 x = [1, 2, 3], 那么执行语句 已 知 x = [[1]]

x.pop(0) 之后, x 的值为 _______ _ 。([2, 3])

= 5 之后, 变量

x 的值为

* 3 , 那么执行语句 x[0][0]

________________ 。 ( [[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} A {4, 5, 6, 7}

的值为 ____________________________ 。( {1,2, 3,

6, 7} ) 115、

已知 x = [1, 2, 3],那么执行语句 x[len(x)-1:] = [4, 5, 6]之后,变量 x 的值为

( [1 , 2, 4, 5, 6])

____________________________________ 。 116、 117、

表达式 len(range(1, 10)) 的值为 _____________ 。 ( 9)

已知x是一个列表对象,那么执行语句 y = x[:]之后表达式id(x) == id(y)的值为

118、 表 达 式 sorted([13, 1,

237, ,

100], key=lambda x: len(str(x))) 的 值 为

_______ ( [1, 1 3, , 237, 100] )

119、 120、

已知 x = {1:2, 2:3} ,那么表达式 x.get(3, 4) 已知 x = {1:2, 2:3} ,那么表达式 x.get(2, 4)

的值为 ___ 。( 4)

的值为 _____ 。 ( 3)

121、 122、 123、 124、 125、 126、 127、 128、

表达式 {1, 2, 3} | {3, 4, 5} 表达式 {1, 2, 3} | {2, 3, 4} 表达式 {1, 2, 3} & {3, 4, 5} 表达式 {1, 2, 3} & {2, 3, 4} 表达式 {1, 2, 3} - {3, 4, 5} 表达式 {1, 2, 3} < {3, 4, 5} 表达式 {1, 2, 3} < {1, 2, 4}

的值为

___

_____________ 。

{1, 2, 3, 4, 5} )

(

的值为 ___

______________

( {1, 2, 3, 4} )

的值为 __

_______ 。( {3} )

的值为 __

___ 。( {2, 3} )

的值为 __

_。( {1, 2} )

的值为 __

_ 。( False)

的值为 __

___。( False)

表达式 [1,2,3].count(4) 的值为 ______

___ 。( 0)

129、

Python 标准库 random 中的

___方法作用是从序列中随机选择 1 个元素。

choice() )

130、

Python 标准库 random 中的 sample(seq, k) 方法作用是从序列中选择 __________ ( 重复

不重复 )的 k 个元素。 不重复)

131、 random 模块中 ______________ 方法的作用是将列表中的元素随机乱序。 132、 133、 134、

执行代码 x, y, z = sorted([1, 3, 2]) 之后,变量 y 的值为 ________ 。( 2) 表达式 (1, 2, 3)+(4, 5) 的值为 _____________________。( (1, 2, 3, 4, 5))

( shuffle() )

表达式 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]] ,那么表达式 sorted(x, key=lambda item:item[0]+item[2])

的值为 _________________________________________ 。( [[2, 3, 1], [1, 3, 3]] ) 137、

已知 x = [[1,3,3], [2,3,1]] ,那么表达式 sorted(x, key=lambda item:(item[1],item[2]))

的值为 ______________________________________ 。( [[2, 3, 1], [1, 3, 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、 140、 141、 142、

已知x = {1,2, 3},那么执行语句

x.add(3)之后,x的值为 _____________ 。 ({1,2, 3})

已知x = {1:1},那么执行语句 x[2] = 2之后,len(x)的值为 ____________________ 。( 2) 已知x = {1:1,2:2},那么执行语句 x[2] = 4之后,len(x)的值为 ____________________ 。 ( 2) 假设已从标准库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],那么连续执行命令 y = x 和 y.append(3) 之后, x 的值为

________ 。 ([1, 2, 3]) 147、

已知列表x = [1, 2],那么连续执行命令

y = x[:]和y.append(3)之后,x的值为

________ 。 ([1, 2]) 148、

已知列表 x = [1, 2],执行语句 y = x[:] 后,表达式 id(x) == id(y) 的值为 ______________ 。

( False) 149、

已知列表 x = [1, 2],执行语句 y = x 后,表达式 id(x) == id(y) 的值为 ________________ 。

True)

150、 151、

已知列表 x = [1, 2] ,执行语句 y = x 后,表达式 x is y 的值为 ____________ 。( True) 已知列表 x = [1, 2] ,执行语句 y = x[:] 后,表达式 x is not y 的值为 ________________ 。 (True)

152

表达式 sorted(random.sample(range(5), 5)) 的值为 ______________________________ 。 ([0, 1, 2, 3, 4] )

153

、 1、

表达式 [i for i in range(10) if i>8] 的值为 ___________________ 。( [9] ) 已知有列表 x = [[1, 2, 3], [4, 5, 6]] ,那么表达式 [[row[i] for row in x] for i in range(len(x[0]))] 的值为 ______________________________ 。( [[1, 4], [2, 5], [3, 6]] )

155

、 156、

执行语句 x,y,z = map(str, range(3)) 之后,变量 y 的值为 _____________ 。( '1') 已知列表x = [1,21,那么执行语句 ([1, 2, 3])

x.extend([31)之后,x的值为

157

已知列表x = [1,21 ,那么执行语句 ([1, 2, [311 )

x.append([31)之后,x的值为 。

158

、 159、 160、

表达式 print(0b10101) 的值为 ______________ 。 (21) 已知x = [1,2, 3, 4, 51 ,那么执行语句

del x[:31之后,x的值为

。([4, 51)

的值

已知 x = range(1,4) 和 y = range(4,7) ,那么表达式 sum([i*j for i,j in zip(x,y)1) 为 __________ 。 ( 32)

161

、 162、 163、

表达式 [5 for i in range(3)1 的值为 _________________ 。 ( [5, 5, 51) 表达式 {1, 2, 3} == {1, 3, 2} 的值为 ______________ 。 ( True) 表达式[1,2, 31 == [1,3, 21 的值为

。(False)

已知 x = [1, 2, 11,那么表达式 id(x[01) == id(x[21) 的值为 __________________ 。1

、 ( True ) 165、

表达式 3 not in [1,2, 31 的值为

。(False)

x[0:01 = [3, 31之后,x的值为

。([3, 3,

166

已知x = [1,21 ,那么执行语句 、

1, 2])

167 、

2]) 168、

已知 x = =[1,2],那么执行语句

x[0:1] = [3, 3]之后,x的值为 ______ 。 ( [3, 3,

__________ 。

已知 x = [1, 2, 3, 4, 5] ,那么执行语句 del x[1:3] 之后, x 的值为 __

( [ 1 ,

4, 5])

169 、 已知 x = [[1, 2, 3,], [4, 5, 6]] ,那么表达式 sum([i*j for i,j in zip(*x)])

32)

已知列表 x = [1, 2, 3] 和 y = [4, 5, 6] ,那么表达式

的值为 _____ 。

170、

[(i,j) for i, j in zip(x,y) if i==3]

______ ______ 。 ([(3, 6)]) 的值为 171 、 172、 173、

已知列表 x = [1.0, 2.0, 3.0] ,那么表达式 sum(x)/len(x) 已知 x = {1:2, 2:3, 3:4} ,那么表达式 sum(x) 的值为 已知 x = {1:2, 2:3, 3:4} ,那么表达式 sum(x.values())

的值为 __________ 。 ( 2.0) __________ 。 ( 6) 的值为 ________ 。 ( 9)

174

已知 x = [3, 2, 3, 3, 4],那么表达式 [index for index, value in enumerate(x) if 、

value==3] 的值为 ______________ 。( [0, 2, 3]) 175 、 176 、 177 、

表达式 1234%1000//100 的值为 ___ _______ 。 ( 2) 表达式 3 // 5 的值为 ______________ ___。( 0)

表达式 [1, 2] + [3] 的值为 _________ __________ 。 ( [1, 2, 3])

178、 表达式 (1,) + (2,) 的值为 _______________ 。( (1, 2)) 179、 表达式 (1) + (2) 的值为 ______________ 。( 3)

180、 已知 x, y = map(int, ['1', '2']) ,那么表达式 x + y 的值为 ___________ 。( 3) 181、 已知列表 x = list(range(5)) ,那么执行语句 x.remove(3) 之后,表达式 x.index(4) 的

值为 ______ 。( 3)

182、 已知列表 x = [1, 3, 2] ,那么执行语句 x.reverse() 之后, x 的值为 _________________ 。

([2, 3, 1] )

183、 已知列表x = [1,3, 2],那么执行语句 x = x.reverse()之后,x的值为 __________________ 。

None)

184、 已知 x 为非空列表, 那么表达式 x.reverse() == list(reversed(x)) 的值为 _____ 。

(False) 185、

已知 x 为非空列表,那么表达式 x.sort() == sorted(x) 的值为 _________ 。( False) 已知列表 x = [1, 3, 2] ,那么执行语句

186、

y = list(reversed(x)) 之后, x 的值为

______ 。( [1, 3, 2] )

187、

已知列表 x = [1, 3, 2] ,那么执行语句

y = list(reversed(x)) 之后, y 的值为

______ 。( [2, 3, 1] )

188、 已知列表 x 中包含超过 5 个以上的元素, 那么表达式 x ==

。( True) ____________ 1、 190、

x[:5]+x[5:] 的值为

已知字典 x = {i:str(i+3) for i in range(3)} ,那么表达式 sum(x) 的值为 __________ 。( 3) 已知字典 x = {i:str(i+3) for i in range(3)} ,那么表达式 sum(item[0] for item in

x.items()) 的值为 ____________ 。( 3) 191、

已知字典 x = {i:str(i+3) for i in range(3)} ,那么表达式 ''.join([item[1] for item in

x.items()]) 的值为 ______________ 。( '345') 192、

已知列表 x = [1, 3, 2] ,那么表达式 [value for index, value in enumerate(x) if

index==2] 的值为 ________________ 。( [2] ) 193、 194、

已知列表 x = [1, 3, 2] ,那么执行语句 a, b, c = sorted(x) 之后, b 的值为 ______ 。( 2) 已知列表 x = [1, 3, 2],那么执行语句 a, b, c = map(str,sorted(x)) 之后, c 的值为

_________ 。( '3')

195、 表达式 set([1,2,3]) == {1, 2, 3} 的值为 ______ _ ______ 。( True)

196、 197、 198、

表达式 set([1,2, 2,3]) == {1, 2, 3} 的值为 ___ _________ 。( True) 表达式 '%c'%65 == str(65) 的值为 ________ ___ 。( False) 表达式 '%s'%65 == str(65) 的值为 ________ _____ 。( True)

199、 200、 201、 202、

表达式 chr(ord('b'F32)的值为 ___________________ 。(’B')

表达式 'abc' in 'abdcefg' 的值为 ____________________ 。 ( False)

已知 x 为整数变量, 那么表达式 int(hex(x), 16) == x 的值为 ______________________ 。 ( True)

已知 x, y = 3, 5 ,那么执行 x, y = y, x 之后, x 的值为 ___________________ 。 ( 5)

203、

已知 x = 'abed'和 y = 'abcde',那么表达式 _________________ 。( [True, True, True, True] )

204、 205、 206、 207、 208、 209、

表达式 int('11', 2)的值为 _______________________________ 。 ( 3)

210、

表达式 int('11', 8)的值为 _______________________________ 。 ( 9)

211、 212、 213、 214、 215、 216、 217、 218、 219、 220、

表达式 int(bin(321), 2) 的值为 ________________________________ 。 ( 321) 表达式 chr(ord('A')+1) 的值为 ____________________________ 。( 'B') 表达式 int(str(34)) == 34 的值为 __________________________ 。 ( True) 表达式 list(str([3, 4])) == [3, 4] 的值为 _________________________ 。 ( False)

表达式{1,2, 3, 4, 5, 6} A {5, 6, 7, 8}的值为 ____________________________ 。({1,2, 3, 4, 7, 8})

表达式 15 // 4 的值为 _________________________ 。 ( 3)

表达式 sorted({'a':3, 'b':9, 'c':78}) 的值为 _________________________ 。 ( ['a', 'b', 'c']) 表达式 sorted({'a':3, 'b':9, 'c':78}.values()) 的值为 ____________________ 。 ( [3, 9, 78]) 已知 x = [3, 2, 4, 1] ,那么执行语句 x = x.sort() 之后, x 的值为 __________________ 。 已知 x = list(range(20)) ,那么表达式 x[-1] 的值为 _____________________________ 。 __________________________________________________________________________ ( 19) 已知 x = 3+4j 和 y = 5+6j ,那么表达式 x+y 的值为 ___________________________ 。 ( 8+10j )

已知 x = [3] ,那么执行 x += [5] 之后 x 的值为 _____________________________ 。 ( [3, 5]) 已知 x = [3, 3, 4] ,那么表达式 id(x[0])==id(x[1]) 的值为 __________________________ 。 ( True)

[i==j for i,j in zip(x,y)] 的值为

( None)

表达式 list(filter(lambda x: x>5, range(10))) 的值为 ___________________ 。 ([6, 7, 8, 9] ) 已知 x = list(range(20)) ,那么语句 print(x[100:200]) 的输出结果为 _________________ 。

[])

221、

已知 x = list(range(20)) ,那么执行语句 x[:18] = [] 后列表 x 的值为 _________________

([18, 19] ) 222、

3]) 223、

4]) 224、

已知x = [1,2, 3],那么连续执行y = [1,2, 3]和y.append(4)这两条语句之后,x的值

已知x = [1, 2, 3],那么连续执行 y = x和y.append(4)这两条语句之后,x的值为 。( [1 , 2, 3, 已知x = [1,2, 3],那么连续执行 y = x[:]和y.append(4)这两条语句之后,x的值为 。( [1 , 2,

为 _____________________ 。( [1 , 2, 3]) 225、

已 知 x = [[]] * 3 , 那 么 执 行 语 句 x[0].append(1) 之 后 , x 的 值 为 。( [[1 ], [1],

[1]] ) 226、 227、

已知 x = [[] for i in range(3)] ,那么执行语句 x[0].append(1) 之后, x 的值为 。( [[1 ], [], []] ) 已知 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)

___________________

表达式 {'x' : 1, **{'y': 2}} 的值为 _ ( {'x': 1, 'y': 2} )

表达式 {*range(4), 4, *(5, 6, 7)} 的值为 ________________ ___。({0, 1, 2, 3, 4, 5, 6, 7} )

232、 233、

234、 已 知 x = [1,2,3,4,5] , 那 么 执 行 语 句 x[::2] = range(3) 之 后 , x 的 值 为

_______________ 。( [0, 2, 1, 4, 2] ) 235、

已知 x = [1,2,3,4,5] ,那么执行语句 x[::2] = map(lambda y:y!=5,range(3)) 之后, x

的值为 _______________ 。( [True, 2, True, 4, True] ) 236、

已知 x = [1,2,3,4,5] ,那么执行语句 x[1::2] = sorted(x[1::2], reverse=True) 之后, x

的值为 _________________ 。( [1, 4, 3, 2, 5] )

表达式 True*3 的值为 ___________ 。(3)

237、

238、 第3章 239、

表达式

False+1 的值为 __________ _ 。( 1)

选择结构与循环结构

表达式 'ab' in 'acbed' 的值为 _____ ___ 。( False)

= n%2 的值为 ______________ 。 ( True )

in)

240、 241、 242、

假设 n 为整数,那么表达式 n&1 =

关键字 __________ 用于测试一个对象是否是一个可迭代对象的元素。(

表达式 3<5>2 的值为 ___________ ___ 。( True) 已知 x = {'a':'b', 'c':'d'} ,那么表达式

'a' in x 的值为 ______________ _ 。( True ) 'b' in x 的值为 ______________ _ 。( False)

。(True)

243、 244、 245、 246、 247、

已知 x = {'a':'b', 'c':'d'} ,那么表达式

已知 x = {'a':'b', 'c':'d'} ,那么表达式 'b' in x.values() 的值为 ________ 表达式 1<2<3 的值为 _________ 。 ( True )

表达式 3 or 5 的值为 _________ 。( 3)

表达式

248、 249、

0 or 5 的值为 __________ 。 (5)

表达式 3 and 5 的值为 __________ __。(5)

表达式 3 and not 5 的值为 _______ _______ 。( False)

250、 251、

Python 中用于表示逻辑与、逻辑或、 逻辑非运算的关键字分别是

________ 、 252、

、 _______ 。( and、 or、 not)

Python 3.x 语 句 for i in range(3):print(i, end=',') 的 输 出 结 果 为

______________________ 。( 0,1,2,)

253、 2、

Python 3.x 语句 print(1, 2, 3, sep=',') 的输出结果为 _________________ 。( 1,2,3) 对于带有 else 子句的 for 循环和 while 循环,当循环因循环条件不成立而自然结束

时 _______ (会不会 )执行 else 中的代码。(会) 255、 256、 257、 258、 259、 260、 261、

在循环语句中, ___________ 语句的作用是提前结束本层循环。( break) 在循环语句中, ________ 语句的作用是提前进入下一次循环。(

continue )

表达式 5 if 5>6 else (6 if 3>2 else 5) 的值为 __________ 。( 6)

Python 关键字 elif 表示 ___________ 和 ___________ 两个单词的缩写。( else、 if ) 表达式 3 in {1, 2, 3} 的值为 ___________ 。( True ) 表达式 'ac' in 'abce' 的值为 ______________ 。( False) 表达式 not 3 的值为 __________________ 。( False)

第 4 章 字符串与正则表达式 262、 263、 2、 265、

表达式 'abc' in ('abcdefg') 的值为 ______________ 。( True) 表达式 'abc' in ['abcdefg'] 的值为 ________________ 。( False) 表达式 '\\x41' == 'A' 的值为 _______________ 。( True)

Python 语句 ''.join(list('hello world!')) 执行的结果是 __________________ 。( 'hello

world!' ) 266、 267、 268、 269、 270、

转义字符r'n'的含义是 _______________________ 。(回车换行) 已知列表对象x = ['11', 2, 3],则表达式

max(x)的值为 __________ 。( 3)

表达式 min(['11', '2', '3']) 的值为 __________________ 。 ( '11')

已知列表对象 x = ['11', '2', '3'] ,则表达式 max(x, key=len) 的值为 ___________ (。 '11') 已 知 path = r'c:\est.html' , 那么表 达式 path[:-4]+'htm' 的 值为 _________________ 。

'c:\\\est.htm' )

271、 272、

表达式 list(str([1,2,3])) == [1,2,3] 的值为 _________________ 。( False) 表达式 str([1, 2, 3]) 的值为 _____________________ 。( '[1, 2, 3]')

273、 274、 275、 276、 277、 278、 279、

表达式 str((1, 2, 3)) 的值为 ____________________ 。( '(1, 2, 3)') 表达式 sum(range(1, 10, 2)) 的值为 _____________ 。( 25) 表达式 sum(range(1, 10)) 的值为 _______________ 。( 45) 表达式 '%c'%65 的值为 __________ 。( 'A' ) 表达式 '%s'%65 的值为 __________ 。( '65')

表达式 '%d,%c' % (65, 65) 的值为 _________ 。( '65,A' ) 表 达 式 'The first:{1}, the second is {0}'.format(65,97) 的 值 为

________________________________ 。( 'The first:97, the second is 65' ) 280、 281、 282、 283、 284、 285、 286、 287、 288、 2、 290、

表达式 '{0:#d},{0:#x},{0:#o}'.format(65) 的值为 _

。('65,0x41,00101')

表达式 isinstance('abcdefg', str) 的值为 ___________ ___ 。( True ) 表达式 isinstance('abcdefg', object) 的值为 ________ _______ 。( True ) 表达式 isinstance(3, object) 的值为 _____________ 。( True ) 表达式 'abcabcabc'.rindex('abc') 的值为 __________ ___。(6)

表达式 ':'.join('abcdefg'.split('cd')) 的值为 __________ _______ 。 ( 'ab:efg') 表达式 'Hello world. I like Python.'.rfind('python')

的值为 ________ 。( -1 )

表达式 'abcabcabc'.count('abc') 的值为 ___________ _ __。(3)

表达式 'apple.peach,banana,pear'.find('p') 的值为 _ ____________ 。 ( 1) 表达式 'apple.peach,banana,pear'.find('ppp') 的值为 ________ 。( -1 ) 表达式 'abcdefg'.split('d') 的值为 ________________

。(['abc', 'efg'])

291、 表达式 ':'.join('1,2,3,4,5'.split(',')) 的值为 ___________ __________ 。('1:2:3:4:5')

292、 表达式 ','.join('a b ccc\\n\\n\\nddd '.split()) 的值为 ___________________________________ 。

('a,b,ccc,ddd') 293、 294、

表达式 'Hello world'.upper() 的值为 ______________ 。( 'HELLO WORLD' ) 表达式 'Hello world'.lower() 的值为 _________________ 。( 'hello world' )

295、 296、 297、 298、 299、 300、 301、 302、 303、 304、 305、

表达式 'Hello world'.lower().upper() 的值为 ______________ 。( 'HELLO WORLD' ) 表达式 'Hello world'.swapcase().swapcase() 的值为 ________________ 。( 'Hello world' ) 表达式 r'c:\\windows\\notepad.exe'.endswith('.exe') 的值为 _______________ 。( True) 表达式 r'c:\\windows\\notepad.exe'.endswith(('.jpg', '.exe'))

的值为 ______ 。( True)

表达式 'C:\\\\Windows\\\\notepad.exe'.startswith('C:') 的值为 ___________ 。( True) 表达式 len('Hello world!'.ljust(20)) 的值为 ____________ 。( 20) 表达式 len('abcdefg'.ljust(3)) 的值为 ____________ 。( 7) 表达式 'a' + 'b' 的值为 _______________ 。( 'ab')

已知 x = '123' 和 y = '456' ,那么表达式 x + y 的值为 __________________ 。('123456') 表达式 'a'.join('abc'.partition('a')) 的值为 ____________________ 。( 'aaabc')

表达式 re.split('\\.+', 'alpha.beta...gamma..delta') 的值为 ___________________________ 。

( ['alpha', 'beta', 'gamma', 'delta'] ) 306、

已知 x = 'a234b123c',并且 re模块已导入,则表达式

re.split('\\d+', x)的值为

__________________ 。( ['a', 'b', 'c']) 307、 308、 309、

表达式 ''.join('asdssfff'.split('sd')) 的值为 _______________ 。( 'assfff') 表达式 ''.join(re.split('[sd]','asdssfff')) 的值为 __________________ 。 ( 'afff' ) 假设 re 模块已导入, 那么表达式 re.findall('(\\d)\\\\1+',

'33abcd112') 的值 为

____________________ 。 ( ['3', '1']) 310、

语句 print(re.match('abc', 'defg')) 输出结果为 _______________ 。 ( None)

311 、 312、 313、 314、 315、

表达式 'Hello world!'[-4] 的值为 ________________ ___。( 'r') 表达式 'Hello world!'[-4:] 的值为 ________________ _ __。( 'rld!' )

表达式 'test.py'.endswith(('.py', '.pyw')) 的值为 __ _______ 。 ( True) 表达式 len('abc'.ljust(20)) 的值为 _______________ _ 。( 20) 代码 print(re.match('A[a-zA-Z]+$','abcDEFGOOO'))

的输出结果为 _________ 。

( None)

316、 当在字符串前加上小写字母 _______ 或大写字母 __ ___表示原始字符串, 不对其中的任 何字符进行转义。( r、R) 317、

在设计正则表达式时, 字符 _________ 紧随任何其他限定符( * 、+、?、{n} 、{n,} 、{n,m})

?)

之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。( 318、

假设正则表达式模块 re已导入,那么表达式 re.sub('\\d+', '1', 'a12345bbbb67c0d0e')

的值为 ______________________ 。( 'a1bbbb1c1d1e') 319、 320、 321 、 322、

323、

表达式len('中国'.encode('utf-8'))的值为 表达式len('中国'.encode('gbk'))的值为

_。( 6) _。( 4)

表达式 chr(ord('A')+2) 的值为 _______ 。 ( 'C')

表达式 'abcab'.replace('a','yy') 的值为 ____________ 。 ( 'yybcyyb' ) 已知 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',那么执行语句 x.replace('hello', 'hi')之后,x的值为

____________ 。( 'hello world' ) 326、

正则表达式元字符 ________ 用来表示该符号前面的字符或子模式 1 次或多次出现。

(+) 327、

已知 x = 'a b c

d',那么表达式

','.join(x.split()) 的值为 _________ 。

'a,b,c,d')

328、

(*) 329、 330、 331、 332、 333、 334、 335、 336、 337、 338、 339、 340、 341、 342、 343、 344、 345、 346、 347、 348、 349、

正则表达式元字符 ________ 用来表示该符号前面的字符或子模式 0 次或多次出现。

表达式 'abcab'.strip('ab') 的值为 ___________ 。( 'c')

表达式 [str(i) for i in range(3)] 的值为 ______________ 。( ['0', '1', '2'] ) 表达式 'abc.txt'.endswith(('.txt', '.doc', '.jpg')) 的值为 _____________ 。( True) 代码 print(1,2,3,sep=':') 的执行结果为 _____________________ 。( 1:2:3 )

代码 for i in range(3):print(i, end=',') 的执行结果为 ____________________ 。( 0,1,2,) 表达式 eval('''__import__('math').sqrt(9)''') 的值为 _________________ 。( 3.0) 表达式 eval('''__import__('math').sqrt(3**2+4**2)''') 的值为 _____________ 。( 5.0) 表达式 eval('3+5') 的值为 ___________________ 。( 8)

表达式 eval('[1, 2, 3]') 的值为 ____________________ 。( [1, 2, 3])

假设 math 标准库已导入, 那么表达式 eval('math.sqrt(4)') 的值为 ___________ 。( 2.0) 已知 x 为非空列表, 那么表达式 random.choice(x) in x 的值为 _____________ 。( True) 表达式 'abc10'.isalnum() 的值为 ________________ 。( True ) 表达式 'abc10'.isalpha() 的值为 __________________ 。( False) 表达式 'abc10'.isdigit() 的值为 ____________________ 。( False)

表达式 'C:\\\\windows\\\\notepad.exe'.endswith('.exe') 的值为 _________ 。( True) 表达式 '%s'%[1,2,3] 的值为 _______________ 。( '[1, 2, 3]') 表达式 'aaasdf'.lstrip('as') 的值为 _________________ 。( 'df') 表达式 'aaasdf'.lstrip('af') 的值为 __________________ 。( 'sdf') 表达式 'aaasdf'.strip('af') 的值为 ________________ 。( 'sd') 表达式 'aaasdf'.rstrip('af') 的值为 _________________ 。( 'aaasd)' 表达式 len('SDIBT') 的值为 ____________ 。(5)

350、 351 、

表达式 'Hello world!'.count('l') 的值为 __ 已 知 x = 'abcdefg' , 则 表 达 式 x[3:]

_________ 。 ( 3) + x[:3] 的 值 为 _

('defgabc') 352、 353、 3、

字符串编码格式 UTF8 使用 _______________________ 个字节表示一个汉字。( 字符串编码格式 GBK 使用 ____________________ 个字节表示一个汉字。( 已知字符串编码格式 utf8 使用 3 个字节表示一个汉字、

2)

3)

1 个字节表示英语字母, 那

么表达式 len('abc 你好 ')的值为 ________________ 。( 5) 355、

已知字符串编码格式 utf8 使用 3 个字节表示一个汉字、

1 个字节表示英语字母, 那

么表达式len('abc你好'.encode())的值为 __________________ 。( 9) 356、

已知字符串编码格式 gbk 使用 2个字节表示一个汉字、

1 个字节表示英语字母,那

么表达式 len('abc 你好'.encode('gbk'))的值为 __________________ 。( 7) 357、

已知 ord('A')的值为 65并且 hex(65)的值为’0x41',那么表达式 '\\x41b'的值为

________________ 。( 'Ab' ) 358、

已知 formatter = 'good {0}'.format ,那么表达式 list(map(formatter, ['morning'])) 的值

为 ___________________ 。( ['good morning'] ) 359、

已知 x = 'hello world.' ,那么表达式 x.find('x') 和 x.rfind('x') 的值都为 ________________ 。

( -1 ) 360、 361、 362、

表达式 ':'.join('hello world.'.split()) 的值为 _____________________ 。 ( 'hello:world.' ) 表达式 ':'.join('a b c d'.split(maxsplit=2)) 的值为 ___________________ 。 ( 'a:b:c d') 已知 x = 'hello world',那么表达式 x.replace(T, 'g')的值为 ___________________ 。 ('heggo

worgd') 363、

假设已成功导入 Python 标准库 string, 那么表达式 len(string.digits) 的值为

________________ 。 ( 10) 3、

表达式'aaaassddf.strip('af)的值为 _____________________ 。( 'ssdd)

365、 366、 367、 368、

表达式 len('aaaassddf.strip('afds'))的值为 表达式 len('helloworld'[100:l)的值为 表达式 chr(ord('a')A32A32)的值为 表达式chr(ord('a')A32)的值为

____________ 。( 0) ___________ 。( 0) _______ 。( 'a') ___ 。 ( 'A')

369、 已知 x = 'aa b ccc dddd',那么表达式\".join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])

的值为 _____________________ 。( 'accddd') 370、

假设正则表达式模块 re 已正确导入,那么表达式

''.join(re.findall('\\d+', 'abcd1234'))

的值为 ______________________ 。( '1234') 371、

假设正则表达式模块 re 已正确导入, 那么表达式 re.findall('\\d+?', 'abcd1234') 的值为

______________________ 。( ['1', '2', '3', '4'] ) 372、

假设正则表达式模块 re 已正确导入,那么表达式 re.sub('(.\\s)\\\\1+', '\\\\1','a a a a a bb')

的值为 __________________________ 。( 'a bb') 373、 374、 375、

表达式 eval('*'.join(map(str, range(1, 6)))) 的值为 ___________ 。( 120 )

正则表达式模块re的 _________________ 方法用来编译正则表达式对象。(compile。) 正则表达式模块 re 的 _______________ 方法用来在字符串开始处进行指定模式的匹

配。( match()) 376、

正则表达式模块 re 的 _______________ 方法用来在整个字符串中进行指定模式的匹

配。( search()) 377、

表 达 式 re.search(r'\\w*?(?P\\b\\w+\\b)\\s+(?P=f)\\w*?', 'Beautiful is is better than

ugly.').group(0) 的值为 ____________ 。 ( 'is is') 378、 379、

表达式 'Beautiful is better than ugly.'.startswith('Be', 5) 的值为 ____________ 。 ( False) 已知字典 x = {i:str(i+3) for i in range(3)} ,那么表达式 ''.join(x.values()) 的值为

第 5 章 函数定义与使用

380、 381、 382、

Python 中定义函数的关键字是 ___________________ 。( def)

在函数内部可以通过关键字 ___________________ 来定义全局变量。( global ) 如果函数中没有 return 语句或者 return 语句不带任何返回值, 那么该函数的返回值 为 _________________ 。( None)

383

、 384、 385、 386、 387、 388、

表达式 sum(range(10)) 的值为 ____________ 。( 45) 表达式 sum(range(1, 10, 2)) 的值为 _____________ 。( 25)

表达式 list(filter(None, [0,1,2,3,0,0])) 的值为 ______________________ 。( [1, 2, 3]) 表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值为 ____________ 。( [3] )

表达式 list(range(50, 60, 3)) 的值为 _________________________ 。( [50, 53, 56, 59] ) 表 达 式 list(filter(lambda x: x%2==0, range(10))) 的 值 为 ___________________________ 。( [0, 2, 4, 6, 8])

3

、 390、 391、 392、 393、

表达式 list(filter(lambda x: len(x)>3, ['a', 'b', 'abcd'])) 的值为 ______________ 。( ['abcd'] ) 已知 g = lambda x, y=3, z=5: x*y*z ,则语句 print(g(1)) 的输出结果为 _________ 。( 15) 表达式 list(map(lambda x: len(x), ['a', 'bb', 'ccc'])) 的值为 ____________ 。( [1, 2, 3] ) 已知 f = lambda x: x+5 ,那么表达式 f(3) 的值为 ________ 。( 8)

表达式 sorted(['abc', 'acd', 'ade'], key=lambda x:(x[0],x[2])) 的值为 _________________ 。 (['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)

已 知 f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]) , 那 么 表 达 式 f(6) 的 值 为

397、

398、 已 知 f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]) , 那 么 表 达 式 f(7) 的 值 为

_____________________ 。( 0) 399、 400、

(6)

401、

值为

402、

______ 。( 10)

已知函数定义 def func(**p):return sum(p.values()) ,那么表达式 func(x=1, y=2, z=3) 的值已知函数定义 def func(**p):return ''.join(sorted(p)) ,那么表达式

为 _______________ 。( 6) 403、

z=3) 的值为 _

。('xyz')

________ 。 ( 5)

已知 g = lambda x, y=3, z=5: x+y+z ,那么表达式 g(2) 的值为 ___________ 。( 10) 已知函数定义 def func(*p):return sum(p) ,那么表达式 func(1,2,3) 的值为 ___________ 。

已知函数定义 def func(*p):return sum(p) ,那么表达式 func(1,2,3, 4) 的

func(x=1, y=2,

404、

已知 f =lambda x: 5,那么表达式 f(3)的值为

第6章 面向对象程序设计 405、 406、 407、 408、 409、 410、 411、 412、 413、 414、

Python 使用 __________________ 关键字来定义类。( class)

表达式 isinstance('abc', str) 的值为 ____

_ 。( True) 。( False)

的值为 __ __________ 。 ( True) ___________ 。

的值为 __

___________ ( False)

表达式 isinstance('abc', int) 的值为 ____ 表达式 isinstance(4j, (int, float, complex)) 表达式 isinstance('4', (int, float, complex))

表达式 type(3) in (int, float, complex) 的值为 _______ ______ 。( True) 表达式 type(3.0) in (int, float, complex) 表达式 type(3+4j) in (int, float, complex)

的值为 ____ _______ 。( True) 的值为 ___ _________ 。( True)

表达式 type('3') in (int, float, complex) 的值为 _______ _______ 。( False)

表达式 type(3) == int 的值为 __________ _ 。( True)

415、 在 Python 定义类时,与运算符“ ** ”对应的特殊方法名为 _______________________ 。

(__pow__() ) 416、

在 Python 中定义类时,与运算符“ //”对应的特殊方法名为 ______________________ 。

( __floordiv__() ) 417、 418、 419、

表达式 type({}) == dict 的值为 ___________________ 。( True) 表达式 type({}) == set 的值为 ________________ 。( False)

在 Python 中,不论类的名字是什么,构造方法的名字都是 ________________________ 。

(__init__ ) 420、

如果在设计一个类时实现了

__contains__ () 方法,那么该类的对象会自动支持

_____________ 运算符。( in) 第 7 章 文件操作 421、

对文件进行写入操作之后, __________________ 方法用来在不关闭文件对象的情况下

将缓冲区内容写入文件。( flush() ) 422、 423、

Python 内置函数 _____________ 用来打开或创建文件并返回文件对象。(

open())

使用上下文管理关键字 ________________ 可以自动管理文件对象, 不论何种原因结束

该关键字中的语句块,都能保证文件被正确关闭。( with ) 424、 425、

Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是 。( listdir() ) Python 标准库 os.path 中用来判断指定文件是否存在的方法是 _____________________ 。

(exists() ) 426、

Python 标准库 os.path 中用来判断指定路径是否为文件的方法是 ___________________ 。

( isfile() ) 427、

428、

Python 标 准 库 os.path 中 用 来 判 断 指 定 路 径 是 否 为 文 件 夹 的 方 法 是 。( isdir() )

Python 标准库 os.path 中用来分割指定路径中的文件扩展名的方法是 _______________ 。

splitext() )

429、 Python 扩展库 _______________ 支持 Excel 2007 或更高版本文件的读写操作。

( openpyxl ) 430、

Python标准库 _____________ 中提供了计算 MD5摘要的方法 md5()。( hashlib)

431、 已知当前文件夹中有纯英文文本文件 readme.txt,请填空完成功能把 readme.txt文

) as

件 中 的 所 有内 容复 制到 dst.txt 中 , with open('readme.txt') as src, open('dst.txt', dst:dst.write(src.read()) 。( 'w') 第 8 章 异常处理结构 432、

Python 内建异常类的基类是 ___________________ 。 ( BaseException)

第 9 章 GUI 编程 第 10 章 网络编程

433、 Python标准库 ___________ 对Socket进行了二次封装,支持

socket)

Socket接口的访问,大

幅度简化了网络程序的开发。( 第 13 章 多线程编程

434、 Python 扩展库 _______________ 中封装了 Windows 底层几乎所有 API 函数。

( pywin32 ) 435、

线程对象的 ____________ 方法用来阻塞当前线程,指定线程运行结束或超时后继续

运行当前线程。( join() ) 第 14 章 数据库编程 436、 437、

Python 用来访问和操作内置数据库 SQLite 的标准库是 _________________ 。 ( sqlite3) 用于删除数据库表 test 中所有 name 字段值为 '10001'的记录的

SQL 语句为

________________________________ 。( delete from test where name= '10001 ') 第 15 章 多媒体编程 438、 439、

Python 扩展库 ________________ 完美封装了图形库 OpenGL 的功能。( pyopengl) Python 扩展库 ________________ 和 _______________ 提供了图像处理功能。( PIL 、

pillow )

440、 二、判断题 第 1 章 基础知识

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、 不可以在同一台计算机上安装多个

Python 版本。(错)

6、 已知 x = 3 ,那么赋值语句 x = 'abcedfg' 是无法正常执行的。(错)

7、 Python 变量使用前必须先声明, 并且一旦声明就不能再当前作用域内改变其类型。 (错) 8、 Python 采用的是基于值得自动内存管理方式。(对) 9、 在任何时刻相同的值在内存中都只保留一份(错) 10、

Python 不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会

改变函数名的含义。(对) 11、

在 Python 中可以使用 if 作为变量名。(错)

12、 13、

在 Python 3.x 中可以使用中文作为变量名。(对)

Python 变量名必须以字母或下划线开头,并且区分字母大小写。(对) 加法运算符可以用来连接字符串并生成新字符串。

对)

14、 ( 15、 16、

9999**9999 这样的命令在 Python 中无法运行。 (错)

3+4j 不是合法的 Python 表达式。(错)

17、 18、 19、 20、

不管输入什么, Python 3.x 中 input() 函数的返回值总是字符串。(对) pip 命令也支持扩展名为 .whl 的文件直接安装 Python 扩展库。(对)

只有 Python 扩展库才需要导入以后才能使用其中的对象, Python 标准库不需要导 入即可

使用其中的所有对象和方法。(错) 21、 22、 23、 24、 25、 26、

在 Python 中 0xad 是合法的十六进制数字表示形式。(对) 3+4j 是合法 Python 数字类型。(对)

在 Python 中 0oa1 是合法的八进制数字表示形式。(错) Python 使用缩进来体现代码之间的逻辑关系。(对) Python 代码的注释只有一种方式,那就是使用

#符号。(错)

放在一对三引号之间的任何内容将被认为是注释。(错) 尽管可以使用 import 语句一次导

入任意多个标准库或扩展库,但是仍建议每次只 导入一个标准库或扩展库。(对) 27、

为了让代码更加紧凑,编写 Python 程序时应尽量避免加入空格和空行。(错)

28、

在 Python 3.5 中运算符 + 不仅可以实现数值的相加、 字符串连接, 还可以实现列表、 元

组的合并和集合的并集运算。(错) 29、

在 Python 中可以使用 for 作为变量名。(错)

30、 31、 32、 33、 34、 35、 36、

在 Python 中可以使用 id 作为变量名,尽管不建议这样做。(对) Python 关键字不可以作为变量名。(对) 一个数字 5 也是合法的 Python 表达式。(对)

执行语句from math import sin之后,可以直接使用 sin()函数,例如sin(3)。(对) 不同版本的 Python 不能安装到同一台计算机上。(错)

般来说, Python 扩展库没有通用于所有版本 Python 的,安装时应选择与已安装

Python 的版本对应的扩展库。(对)

Python 变量名区分大小写,所以 student 和 Student 不是同一个变量。(对) 在Python 3.x中reduce。是内置函数。(错)

37、 38、

39、 如果只需要 math模块中的sin()函数,建议使用 from math import sin来导入,而不 要使用 import math 导入整个模块。(对)

40、 在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式, 一律按字符串进行返回。(对)

41、

安装 Python 扩展库时只能使用 pip 工具在线安装,如果安装不成功就没有别的办

法了。(错) 第 2 章 Python 序列

Python 支持使用字典的“键”作为下标来访问字典中的值。(对) 列表可以作为字典的“键”。(错) 元组可以作为字典的“键”。(对) 字典的“键”必须是不可变的。(对)

sorted(x, reverse=True) == list(reversed(x)) 的值一

42、 43、 44、 45、

46、 已知 x 为非空列表,那么表达式 定是 True。(错)

47、

已知x为非空列表,那么 x.sort(reverse-True)和x.reverse()的作用是等价的。(错) 生成器推导式比列表推导式具有更高的效率,推荐使用。(对)

48、 49、 50、 51、 52、 53、 、 55、

Python 集合中的元素不允许重复。(对) Python 集合可以包含相同的元素。(错) Python 字典中的“键”不允许重复。(对) Python 字典中的“值”不允许重复。(错) Python 集合中的元素可以是元组。(对) Python 集合中的元素可以是列表。(错) Python 字典中的“键”可以是列表。(错)

56、 57、 58、 59、

Python 字典中的“键”可以是元组。(对)

Python 列表中所有元素必须为相同类型的数据。(错) Python 列表、元组、字符串都属于有序序列。(对)

已知A和B是两个集合,并且表达式 AB的值一 定为True°

(错) 60、 61、

列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。(对) 对于列表而言, 在尾部追加元素比在中间位置插入元素速度更快一些, 尤其是对于 包含大量

元素的列表。(对) 62、

假设有非空列表 x,那么x.append(3)、x = x+[3]与x.insert(0,3)在执行时间上基本没 有

太大区别。(错) 63、

使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素 的索引。

(对) 、 65、

假设x为列表对象,那么 x.pop()和x.pop(-1)的作用是一样的。(对)

使用del命令或者列表对象的 remove()方法删除列表中元素时会影响列表中部分元 素的索

引。(对) 66、 67、

已知列表 x = [1, 2, 3],那么执行语句 x = 3 之后,变量 x 的地址不变。(错) 使用列表对象的remove()方法可以删除列表中首次出现的指定元素,

如果列中不存

在要删除的指定元素则抛出异常。(对) 68、

元组是不可变的,不支持列表对象的

inset()、remove()等方法,也不支持 del命令

删除其中的元素,但可以使用 69、 70、 71、

del命令删除整个元组对象。(对)

Python 字典和集合属于无序序列。(对)

无法删除集合中指定位置的元素,只能删除特定值的元素。(对)

元组的访问速度比列表要快一些, 如果定义了一系列常量值, 并且主要用途仅仅是

对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。(对) 72、

当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对

应的“值”,若不存在则表示为字典对象添加一个新的“键 73、

- 值对”。(对)

假设 x 是含有 5 个元素的列表,那么切片操作 x[10:] 是无法执行的,会抛出异常。

(错) 74、 75、 76、 77、 78、 79、 80、 81、 82、

只能对列表进行切片操作,不能对元组和字符串进行切片操作。(错) 只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。(错) 只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(对) 字符串属于 Python 有序序列,和列表、元组一样都支持双向索引。(对) Python 字典和集合支持双向索引。(错)

Python 集合不支持使用下标访问其中的元素。(对)

相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。(对) 删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。(对) 已知列表 x 中包含超过 5 个以上的元素, 那么语句 x = x[:5]+x[5:] 的作用是将列表

x 中的元素循环左移 5 位。(错) 83、 84、 85、 86、 87、

对于生成器对象 x = (3 for i in range(5)) ,连续两次执行 list(x) 的结果是一样的。 (错) 对于大量列表的连接, extend() 方法比运算符 +具有更高的效率。(对) 表达式{1,3, 2} > {1,2, 3} 的值为 True°(错)

列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。(对) 对于数字n,如果表达式 0 not in [n%d for d in range(2, n)] 的值为True则说明n是

素数。(对) 88、 、

表达式 a'1的值为''(错)

创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如

(3,)。 (对)

90、 91、 92、 93、 94、 95、 96、

表达式 list('[1, 2, 3]') 的值是[1, 2, 3]。(错) 同一个列表对象中的元素类型可以各不相同。(对) 同一个列表对象中所有元素必须为相同类型。(错)

已知 x 为非空列表, 那么执行语句 x[0] = 3 之后,列表对象 x 的内存地址不变。(对) 列表可以作为集合的元素。(错) 集合可以作为列表的元素。(对) 元组可以作为集合的元素。(对)

97、

集合可以作为元组的元素。(对)

98、

字典可以作为集合的元素。(错)

99、

集合可以作为字典的键。(错)

100、

集合可以作为字典的值。(对)

101、

可以使用 del 删除集合中的部分元素。(错)

102、

列表对象的 pop() 方法默认删除并返回最后一个元素,如果列表已空则抛出异常。

对)

103、

表达式 {1, 2} * 2 的值为 {1, 2, 1, 2} 。(错)

104、

Python 字典支持双向索引。(错)

105、 106、 107、

Python 集合支持双向索引。(错)

Python 元组支持双向索引。(对)

假设 re 模块已成功导入,并且有 pattern = re.compile('A'+'\\.'.join([r'\\d{1,3}'

108、

range(4)])+'$'),那么表达式的值为

None°(错)

for i in

假设 random 模块已导入, 那么表达式 random.sample(range(10), 20) 的作用是生成

109、

20 个不重复的整数。(错)

假设 random 模块已导入, 那么表达式 random.sample(range(10), 7) 的作用是生成 7

个不重复的整数。(对) 110、 111、 112、 113、 114、

使用ran dom模块的函数ran di nt(1, 100)获取随机数时,有可能会得到 100。(对) 已知x = (1,2, 3, 4),那么执行x[0] = 5之后,x的值为(5, 2, 3, 4)。(错) 已知x = 3,那么执行x += 6语句前后x的内存地址是不变的。(错) 成员测试运算符in作用于集合时比作用于列表快得多。(对)

内置函数len()返回指定序列的元素个数,适用于列表、元组、字符串、字典、集 合以及range、

zip等迭代对象。(对) 115、 用

是计算这两个列表所表示的向量的内积。(对) 116、

已知x和y是两个等长的整数列表,

那么表达式[i+j for i,j in zip(x,y)]的作用时计算

已知x和y是两个等长的整数列表,

那么表达式sum((i*j for i, j in zip(x, y)))的作

这两个列表所表示的向量的和。(对) 117、 更

快一些。(对) 118、 119、 120、 121、

已知x = list(range(20)),那么语句del x[::2]可以正常执行。(对) 已知x = list(range(20)),那么语句x[::2]=[]可以正常执行。(错)

已知 x = list(range(20)),那么语句 print(x[100:200])无法正常执行。(错) 已知x是个列表对象,那么执行语句

y = x之后,对y所做的任何操作都会同样作

表达式int('1'*, 2)与sum(2**i for i in range())的计算结果是一样的, 但是前者

用到x上。(对) 122、

已知x是个列表对象,那么执行语句

y = x[:]之后,对y所做的任何操作都会同样

作用到x上。(错)

123、 在Python中,变量不直接存储值,而是存储值的引用,也就是值在内存中的地址。

(对) 124、

表达式(i**2 for i in range(100))的结果是个元组。(错)

125、

在Python中元组的值是不可变的, 因此,已知x = ([1], [2]),那么语句x[0].append(3)

是无法正常执行的。(错)

Python 内置的字典 dict 中元素是按添加的顺序依次进行存储的。(错)

126、 127、

Python内置的集合set中元素顺序是按元素的哈希值进行存储的, 并不是按先后顺

序。 (对)

已知 x = {1:1, 2:2} ,那么语句 x[3] =3 无法正常执行。(错)

128、

129、 Python 内置字典是无序的,如果需要一个可以记住元素插入顺序的字典,可以使 用 collections.OrderedDict 。(对)

130、 131、

已知列表x = [1,2, 3, 4],那么表达式x.find(5)的值应为-1。(错)

列表对象的排序方法 sort()只能按兀素从小到大排列, 不支持别的排序方式。(错)

132、 已知x是一个列表,那么x - x[3:] + x[:3]可以实现把列表 x中的所有元素循环左移 3 位。(对)

第3章 选择结构与循环结构

那么使用 for i in range(20) 和 for i in range(20, 40)

如果仅仅是用于控制循环次数, 133、 的

作用是等价的。(对)

134、 在循环中 continue 语句的作用是跳出当前循环。(错)

在编写多层循环时, 为了提高运行效率, 应尽量减少内循环中不必要的计算。

(对

break语句而退出的话,则会执行else子句中

135、

136、 带有else子句的循环如果因为执行了 的代码。(错)

137、 对于带有 else 子句的循环语句,如果是因为循环条件表达式不成立而自然结束循

环, 则执行 else 子句中的代码。(对) 138、 第4章 139、

在条件表达式中不允许使用赋值运算符“ 字符串与正则表达式

在 UTF-8 编码中一个汉字需要占用 3 个字节。(对)

-”,会提示语法错误。(对)

140、 在GBK和CP936编码中一个汉字需要 2个字节。(对) 141、 在 Python 中,任意长的字符串都遵守驻留机制。(错)

142、 Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(对)

143、 Python 字符串方法 replace() 对字符串进行原地修改。(错) 144、 如果需要连接大量字符串成为一个字符串,那么使用字符串对象的

算符 +具有更高的效率。(对)

145、 正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而

法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回 则返回空值None。(对)

search()方 join() 方法比运

match对象,匹配失败

146、 147、 148、 149、 150、 151 、 152、 153、

已知 x 为非空字符串,那么表达式 已知 x 为非空字符串,那么表达式

''.join(x.split()) == x 的值一定为 True。 (错)

(对) ','.join(x.split(',')) == x 的值一定为 True 。

当作为条件表达式时, [] 与 None 等价。(对)

表达式 [] == None 的值为 True。 (错)

当作为条件表达式时, {} 与 None 等价。(对)

表达式 {}==None 的值为 True。 表达式 pow(3,2) == 3**2 的值为

(错)

True。(对)

当作为条件表达式时,空值、空字符串、空列表、空元组、 空字典、空集合、空迭

代对象以及任意形式的数字 0都等价于Falseo(对)

1、 正则表达式对象的 match() 方法可以在字符串的指定位置开始进行指定模式的匹 配。(对)

155、 使用正则表达式对字符串进行分割时, 可以指定多个分隔符, 而字符串对象的 split() 方

法无法做到这一点。(对)

156、 正则表达式元字符“ A ”一般用来表示从字符串开始处进行匹配,用在一对方括号 中的时候

则表示反向匹配,不匹配方括号中的字符。(对)

157、 正则表达式元字符“ \\s”用来匹配任意空白字符。(对)

158、 159、

正则表达式 元字符“ \\d ”用来匹配任意数字字符。(对)

已知 x 和 y 是两个字符串,那么表达式 sum((1 for i,j in zip(x,y) if i==j)) 可以用来计

算两个字符串中对应位置字符相等的个数。(对) 160、

Python 3.x中字符串对象的encode()方法默认使用 utf8作为编码方式。(对)

161、 162、

已知 x = 'hellow world.'.encode(),那么表达式 x.decode('gbk')的值为’hellow world.'。( 对) 已知x = 'Python是一种非常好的编程语言

'.encode(),那么表达式 x.decode('gbk')的

值为 'Python 是一种非常好的编程语言 '。(错) 163、 1、

正则表达式'Ahttp'只能匹配所有以’http'开头的字符串。(对) 正则表达式’A\\d{18}|\\d{15}$'只能检查给定字符串是否为

18位或15位数字字符,并

不能保证一定是合法的身份证号。(对) 165、 166、 167、

正则表达式’Fabc]'可以一个匹配任意除’a'、’b'、’c'之外的字符。(对) 正则表达式'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'。(对) 字节串 b'hello world' 和 b'hello world.' 的 MD5 值相差很小。(错)

第 5 章 函数设计与应用 168、 169、 170、 171、

调用函数时,在实参前面加一个型号

*表示序列解包。(对)

在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。(错) 函数是代码复用的一种方式。(对)

定义函数时, 即使该函数不需要接收任何参数, 也必须保留一对空的圆括号来表示

这是一个函数。(对) 172、 173、 174、 175、

编写函数时, 一般建议先对参数进行合法性检查, 然后再编写正常的功能代码。 ( 对) 一个函数如果带有默认值参数,那么必须所有参数都设置默认值。(错) 定义 Python 函数时必须指定函数返回值类型。(错)

定义Python函数时,如果函数中没有 return语句,则默认返回空值

None。(对)

176、 177、 178、 179、

如果在函数中有语句 return 3,那么该函数一定会返回整数 3。(错) 函数中必须包含 return 语句。(错)

函数中的 return 语句一定能够得到执行。(错)

不同作用域中的同名变量之间互相不影响, 也就是说, 在不同的作用域内可以定义 同名的

变量。(对) 180、

全局变量会增加不同函数之间的隐式耦合度, 从而降低代码可读性, 因此应尽量避 免过多

使用全局变量。(对) 181、 182、

函数内部定义的局部变量当函数调用结束后被自动删除。(对)

在函数内部, 既可以使用 global 来声明使用外部全局变量, 也可以使用 global 直接 定义

全局变量。(对) 183、 184、 185、 186、

在函数内部没有办法定义全局变量。(错)

在函数内部直接修改形参的值并不影响外部实参的值。(对) 在函数内部没有任何方法可以影响实参的值。(错)

调用带有默认值参数的函数时, 不能为默认值参数传递任何值, 必须使用函数定义 时设置

的默认值。(错) 187、 188、 1、

在同一个作用域内,局部变量会隐藏同名的全局变量。(对)

形参可以看做是函数内部的局部变量, 函数运行结束之后形参就不可访问了。 (对) 假设已导入 random 标准库,那么表达式 max([random.randint(1, 10) for i in range(10)])

的值一 定是 10。(错) 190、 192、

Python 标准库 random 的方法 randint(m,n) 用来生成一个 [m,n] 区间上的随机整数。 (对) 191、

在函数内部没有任何声明的情况下直接为某个变量赋值, 这个变量一定是函数内部

的局部变量。(对)

在 Python 中定义函数时不需要声明函数参数的类型。(对)

193、 194、

在 Python 中定义函数时不需要声明函数的返回值类型。(对) 在函数中没有任何办法可以通过形参来影响实参的值。(错) 已知 x = 3 ,那么执行语句 x+=6 之后, x 的内存地址不变。(错)

195、

196、 在定义函数时,某个参数名字前面带有一个 * 符号表示可变长度参数,可以接收任 意多个普通实参并存放于一个元组之中。(对)

197、 在定义函数时,某个参数名字前面带有两个 * 符号表示可变长度参数,可以接收任 意多个关键参数并将其存放于一个字典之中。(对)

198、 定义函数时, 带有默认值的参数必须出现在参数列表的最右端, 任何一个带有默认 值的参数右边不允许出现没有默认值的参数。(对)

199、 在调用函数时, 可以通过关键参数的形式进行传值, 从而避免必须记住函数形参顺 序的麻烦。(对)

200、 在调用函数时,必须牢记函数形参顺序才能正确传值。(错) 调用函数时传递的实参个数必须与函数形参个数相等才行。(错)

201、 202、

在编写函数时,建议首先对形参进行类型检查和数值范围检查之后再编写功能代

码, 或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。(对)

203、 204、 205、 206、 207、

lambda 表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式。(对) g = lambda x: 3 不是一个合法的赋值表达式。(错)

包含 yield 语句的函数一般成为生成器函数,可以用来创建生成器对象。(对) 在函数中 yield 语句的作用和 return 完全一样。(错) 语句 pass 仅起到占位符的作用,并不会做任何操作。(对)

208、 第6章

无法使用 lambda 表达式定义有名字的函数。(错) 面向对象程序设计

在 Python 中定义类时, 如果某个成员名称前有 2 个下划线则表示是私有成员。 (对)

209、 210、

在类定义的外部没有任何办法可以访问对象的私有成员。(错)

211、 Python 中一切内容都可以称为对象。(对) 212、 栈和队列的都具有先入后出的特点。(错)

213、 在一个软件的设计与开发中, 所有类名、 函数名、 变量名都应该遵循统一的风格和

规范。(对)

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 中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。

对)

疋义类时如果实现了 _contains__()方法,该类对象即可支持成员测试运算 定义类时如果实现了

228、 229、 230、 231、

疋义类时实现了 __eq__()方法,该类对象即可支持运算符 ==。(对) 定义类时实现了 __pow__()方法,该类对象即可支持运算符 ** 。(对) Python 类的构造函数是 __init__() 。(对)

len ()方法,该类对象即可支持内置函数

in。(对)

227、

len()。(对)

232、 定义类时,在一个方法前面使用 @classmethod 进行修饰,则该方法属于类方法。

对)

233、 定义类时, 在一个方法前面使用 @staticmethod 进行休息, 则该方法属于静态方法。 对)

234、 235、 236、

通过对象不能调用类方法和静态方法。(错)

在 Python 中可以为自定义类的对象动态增加新成员。(对) Python 类不支持多继承。(错)

237、 属性可以像数据成员一样进行访问, 但赋值时具有方法的优点, 可以对新值进行检

查。 (对)

只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。(错)

238、 239、 240、

任何包含 __call__()方法的类的对象都是可调用的。(对) 在 Python 中函数和类都属于可调用对象。(对)

函数和对象方法是一样的,内部实现和外部调用都没有任何区别。(错)

241、 242、

在设计派生类时,基类的私有成员默认是不会继承的。(对)

243、 如果在设计一个类时实现类 __len__()方法,那么该类的对象会自动支持 Python 内 置函数 len() 。(对)

7章 文件操作

244、 245、

扩展库os中的方法remove()可以删除带有只读属性的文件。(错)

使用内置函数open()且以w模式打开的文件,文件指针默认指向文件尾。(错) 使用内置函数ope n()打开文件时,只要文件路径正确就总是可以正确打开的。

246、

) 247、 248、

使用 print() 函数无法将信息写入文件。(错)

对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。(对)

(错

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、

2、 二进制文件也可以使用记事本或其他文本编辑器打开, 其中的内容。(对)

但是一般来说无法正常查看

255、 256、 257、

Python 标准库 os 中的方法 isfile() 可以用来测试给定的路径是否为文件。(对) Python标准库os中的方法exists。可以用来测试给疋路径的文件是否存在。(对) Python标准库os中的方法isdir()可以用来测试给疋的路径是否为文件夹。(对)

258、 Python标准库os中的方法listdir()返回包含指疋路径中所有文件和文件夹名称的列

表。 (对) 259、 260、 261、

Python 扩展库 xlwt 支持对 Excel 2003 或更低版本的 Excel 文件进行写操作。 (对) Python 扩展库 xlrd 支持对 Excel 2003 或更低版本的 Excel 文件进行读操作。(对) 标准库os的rename()方法可以实现文件移动操作。(对)

表,而不能列出其子文件夹中的文件。(对) 263、 2、 265、 266、 267、 268、

文件对象的 tell() 方法用来返回文件指针的当前位置。(对) 以写模式打开的文件无法进读操作。(对)

假设已成功导入 os和sys标准库,那么表达式的值为 以读模式打开文件时,文件指针指向文件开始处。(对) 以追加模式打开文件时,文件指针指向文件尾。(对)

二进制文件也可以使用记事本程序打开,只是无法正确阅读和理解其中的内容。

Python安装目录。(对)

(对) 269、

文本文件是可以迭代的, 可以使用 for line in fp 类似的语句遍历文件对象 fp 中的每 一行。

(对) 270、 271、

Python 的主程序文件 python.exe 属于二进制文件。(对)

对字符串信息进行编码以后, 必须使用同样的或者兼容的编码格式进行解码才能还 原本来

的信息。(对) 272、 273、

使用 pickle 进行序列化得到的二进制文件使用 struct 也可以正确地进行反序列化。 (错) 已知当前文件夹中有一个文件 readme.txt 具有只读属性,假设标准库 os 已正确导

入,那么可以通过语句 os.chmod('readme.txt', 0o777)来删除该文件的只读属性。(对) 274、

Python标准库os的函数remove。不能删除具有只读属性的文件。(对)

第 8 章 异常处理结构与程序调试、测试 275、

在try...except...else结构中,如果try块的语句引发了异常则会执行else块中的代码。

(错) 276、 277、

异常处理结构中的 finally 块中代码仍然有可能出错从而再次引发异常。(对) 程序中异常处理结构在大多数情况下是没必要的。(错)

278、 279、 280、 281、

带有 else 子句的异常处理结构,如果不发生异常则执行 else 子句中的代码。(对)

异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。(对)

在异常处理结构中, 不论是否发生异常, finally 子句中的代码总是会执行的。 (对) 由于异常处理结构 try...except...finally... 中 finally 里的语句块总是被执行的, 所以把

关闭文件的代码放到 finally 块里肯定是万无一失, 一定能保证文件被正确关闭并且不会 引发任何异常。(错) 第 9 章 GUI 编程 282、

在 GUI 设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择

互不影响。(对) 283、

在 GUI 设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多

个选项中只能选择一个,当选择发生变化之后,之前选中的选项自动失效。(对) 第 10 章 网络程序设计 284、 285、 286、

Python 代码可以内嵌在 asp 文件中。(对) 无法配置 IIS 来支持 Python 程序的运行。(错)

使用 TCP 协议进行通信时,必须首先建立连接,然后进行数据传输,最后再关闭

连接。(对) 287、

TCP 是可以提供良好服务质量的传输层协议,所以在任何场合都应该优先考虑使

用。(错) 第 11 章大数据处理 第 12 章 Windows 系统编程 288、

可以使用 py2exe 或 pyinstaller 等扩展库把 Python 源程序打包成为 exe 文件,从而

脱离 Python 环境在 Windows 平台上运行。(对) 2、

Python程序只能在安装了 Python环境的计算机上以源代码形式运行。(错)

第 13 章 多线程与多进程编程

291、 Python 标准库 threading 中的 Lock、RLock、Condition、Event、Semaphore对象都

可以用来实现线程同步。(对) 292、 293、

在编写应用程序时,应合理控制线程数量,线程并不是越多越好。(对)

在多线程编程时,当某子线程的 daemon 属性为 False 时,主线程结束时会检测该 子线程是

否结束, 如果该子线程尚未运行结束, 则主线程会等待它完成后再退出。 (对) 294、

在 4 核 CPU 平台上使用多线程编程技术可以很轻易地获得

400%的处理速度提升。

(错) 295、

多线程编程技术主要目的是为了提高计算机硬件的利用率, 没有别的作用了。 (错)

第 14 章 数据库编程 296、

Python只能使用内置数据库 SQLite ,无法访问 MS SQLServer、ACCESS或Oracle、

MySQL 等数据库。(错) 第 15 章 多媒体编程 297、

使用 OpenGL 画图时,画点是最基本的操作,具体生成的图形由 glBegin() 函数指 定的 mode

来决定。例如, mode 值为 GL_TRIANGLES 时表示将要绘制三角形。(对) 298、

OpenGL 采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该 状态,否

则该状态将一直保持。(对) 第 16章 逆向工程与软件分析 第 17 章 科学计算与可视化 第 18 密码学编程

第 19 章 安卓平台的 Python 编程 三、简答题

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__”变量及其作用(每个 Python 脚本在运行时都有一 个

“ __name__”属性。如果脚本作为模块被导入,则其“

__name__”属性的值被自动设

置为模块名; 如果脚本运行, 则其“__name__”属性值被自动设置为 “__main__ ”。 利用“ __name__”属性即可控制 Python 程序的运行方式。)

5、 为什么应尽量从列表的尾部进行元素的增加与删除操作(当列表增加或删除元素时,列 表对象自动

进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的 移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。) 6、 分析逻辑运算符“ or”的短路求值特性(假设有表达式“表达式

1 or表达式2”,如果

表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是等价于 True。因此,不需要再计算表达式

2的值。)

7、 简单解释 Python 中短字符串驻留机制(对于短字符串,将其赋值给多个不同的对象时, 内存中只

有一个副本,多个对象共享改副本。)

8、 异常和错误有什么区别 (异常是指因为程序执行过程中出错而在正常控制流以外采取的 行为。严

格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常, 例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。)

9、 使用 pdb 模块进行 Python 程序调试主要有哪几种用法( 1 )在交互模式下使用 pdb 模块

提供的功能可以直接调试语句块、表达式、函数等多种脚本。

2)在程序中嵌入断点来

实现调试功能。在程序中首先导入 pdb模块,然后使用pdb.set_trace()在需要的位置设置 断点。如果程序中存在通过该方法调用显式插入的断点,那么在命令提示符环境下执行 该程序或双击执行程序时将自动打开 pdb 调试环境,即使该程序当前不处于调试状态。 3)使用命令行调试程序。在命令行提示符下执行“

python - m pdb脚本文件名”,则

直接进入调试环境;当调试结束或程序正常结束以后,

pdb 将重启该程序。)

的问题。 代码 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 没有定义;第二段代 码执行正常。 原因是第二段代码使用内置函数 文件,从而不会抛出异常。

11、 下面的代码本意是把当前文件夹中所有

简要说明可能存在的问题。 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) 答: 对于字符串对象,如果要查找的子字符串不存在,则 当前文件夹中有不包含圆点的文件名或者子文件夹名, 12、 四、编程题

rindex() 方法会抛出异常。所以,如果 面的代码会抛出异常而崩溃。

1、编写程序, 在 D 盘根目录下创建一个文本文件 答: fp = open(r 'D:\est.txt ', ‘a+') print( ‘hello world ', file=fp) fp.close()

2、写出下面代码的优化版本,提高运行效率。

test.txt,并向其中写入字符串

hello world。

html 文件都改为 htm 文件,仔细阅读代码, open()打开指定文件时如果不存在则会创建该

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 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、 编写函数,判断一个数字是否为素数,是则返回字符串 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)]

YES,否则返回字符串 NO。 答:

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: prin t('No')

11、编写程序,实现分段函数计算,如下表所示。

x y x<0 0 0<=x<5 x 5<=x<10 3x-5 10<=x<20 0.5x-2 20<=x 0 答:

x = in put('Please in put x:') x = eval(x) if x<0 or x>=20:

prin t(0) elif 0<=x<5:

prin t(x) elif 5<=x<10:

prin t(3*x-5) elif 10<=x<20:

prin t(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 prin t(t.value) 答:

不能运行。程序中定义的是只读属性,不能修改属性的值。

13、 下面代码的功能是,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。 请把缺少的代码补全。 import ran dom

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、 下面程序的执行结果是 _______________ 。( 1 275) 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 ,1 0]区间中选择 20 个不同的随机整数, 间并而该区 没有这么多整数,所以程序死循环。

18、 下面的代码是否能够正确运行,若不能请解释原因;若能,请分析其执行结果。 >>> x = list(range(20)) >>> for i in range(len(x)):

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务