编程题整理的很少,编程是一个仁者见仁智者见智的过程,按照需求来,最终把需求实现就ok了。
一、选择题
1.下列选项不能创建一个字典的是( C ):
A dict ={ }
B dict={ 3:5 }
C dict={ [3,4] }: ”test” }
D dict={ (1,2) : ”test” }
2.关于python内存管理,下列说法错误的是( B ):
A 变量不必事先声明
B 变量无需实现创建和赋值而直接使用
B 变量无需指定类型
D 可以用del 释放资源
3. 下列哪个语句在Python中是非法的?( B )
A、x = y = z = 1 B、x = (y = z + 1)
C、x, y = y, x D、x += y
4. 下面哪个不是Python合法的标识符( B )
A、int32 B、40XL C、self D、name
5. 下列哪种说法是错误的 ( A )
A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、值为0的任何数字对象的布尔值是False
6.Python不支持的数据类型有 ( A )
A、char B、int C、float D、list
7.关于Python中的复数,下列说法错误的是( C )
A、表示复数的语法是real + image j
B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写
D、方法conjugate返回复数的共轭复数
8.关于字符串下列说法错误的是 ( B )
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
9.下列Python语句正确的是 ( D )
A、min = x if x < y else y
B、max = x > y ? x : y
C、if (x > y) print x
D、while True : pass
10. 计算机中信息处理和信息储存用( A )
A 二进制代码
B 十进制代码
C 十六进制代码
D ASCII代码
11. python源程序执行的方式( B )
A 编译执行 B 解析执行 C 直接执行 D边编译边执行
12. Python语言语句块的标记是( C )
A 分号 B 逗号 C 缩进 D /
13. 以下是字符转换成字节的方法是( B )
A decode() B encode() C upper() D rstrip()
14. 以下是正确的字符串( B )
A ‘abc”ab” B ‘abc”ab’ C “abc”ab” D “abc\”ab”
15. “ab”+”c”*2 结果是:( C )
A abc2 B abcabc C abcc D ababcc
16. 以下会出现错误的是( B )
A ‘北京’.encode()
B ‘北京’.decode()
C ‘北京’.encode().decode()
D 以上都不会错误
17. 如下:
str1 = "Runoob example…wow!!!
str2 = “exam”;
print(str1.find(str2, 5)) 打印的结果是( B )
A 6 B 7 C 8 D -1
18. 下面对count(),index(), find()方法描述错误的是(B、C)
A count() 方法用于统计字符串里某个字符出现的次数
B find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值,否则会报一个异常
C index() 方法检测字符串中是否包含子字符串 str, 如果str不在 返回-1
D 以上都错误
19. 有下面的程序段
if k<=10 and k >0:
if k >5:
if k>8:
x=0
else:
X=1
else:
if k>2:
x=3
else:
x=4
其中k取那组值时 x =3 ( A )
A 3,4,5 B 3,4 C 5,6,7 D 4,5
20. 以下不是python中的关键字( D )
A raise B with C import D final
21. 调用以下函数返回的值( D )
def myfun():
pass
A 0 B 出错不能运行 C 空字符串 D None
22.函数如下:
def showNnumber(numbers):
for n in numbers:
print(n)
下面那些在调用函数时会报错( C )
A showNumer([2,4,5]) B showNnumber(‘abcesf’)
C showNnumber(3.4) D showNumber((12,4,5))
23.函数如下:
def chanageInt(number2):
number2 = number2+1
print(“changeInt: number2= “,number2)
#调用
number1 = 2
chanageInt(number1)
print(“number:”,number1)
打印结果哪项是正确的( B )
A changeInt: number2= 3 number: 3
B changeInt: number2= 3 number: 2
C number: 2 changeInt: number2= 2
D number: 2 changeInt: number2= 3
24. 函数如下:
def chanageList(list):
list.append(” end”)
print(“list”,list)
#调用
strs =[‘1’,‘2’]
chanageList()
print(“strs”,strs)
下面对 strs 和 list 的值输出正确的是( C、D )
A strs [‘1’,‘2’] B list [‘1’,‘2’]
C list [‘1’,‘2’,’end’] D strs [‘1’,‘2’,’end’]
25. 定义类如下:
class Hello():
pass
下面说明错误的是( C、D )
A 该类实例中包含__dir__()方法
B 该类实例中包含__hash__()方法
C 该类实例中只包含__dir__(),不包含__hash__()
D 该类没有定义任何方法,所以该实例中没有包含任何方法
26.定义类如下:
class hello():
def showInfo(sef):
print(self.x)
下面描述正确的是( A、C )
A该类不可以实例化
B 该类可以实例化
C 在pycharm 工具中会出现语法错误,说self没有定义
D 该类可以实例化,并且能正常通过对象调用showInfo()
27. 关于python类 说法错误的是( B )
A 类的实例方法必须创建对象后才可以调用
B 类的实例方法必须创建对象前才可以调用
C 类的类方法可以用对象和类名来调用
D 类的静态属性可以用类名和对象来调用
28. 定义类如下
class Hello():
def init(self,name)
self.name=name
def showInfo(self)
print(self.name)
下面代码能正常执行的 ( C )
A h = Hello
h.showInfo()
B h = Hello()
h.showInfo(‘张三’)
C h = Hello(‘张三’)
h.showInfo()
D h = Hello(‘admin’)
showInfo
29. 定义类如下:
class A():
def a():
print(“a”)
class B ():
def b():
print(“b”)
class C():
def c():
print©
class D(A,C):
def d():
print(“d”)
d = D()
d.a()
d.b()
d.d()
以下程序能执行的结果是( D )
A a,b,d B a,d
C d,a D 执行会报错
30. 以下哪项python能正常启动( D )
A 拼写错误 B 错误表达式
C 缩进错误 D 手动抛出异常
31 有关异常说法正确的是( B )
A 程序中抛出异常终止程序
B 程序中抛出异常不一定终止程序
C 拼写错误会导致程序终止
D 缩进错误会导致程序终止
32. 对以下程序描述错误的是( A )
try:
#语句块1
except IndexError as i:
# 语句块2
A 改程序对异常处理了,因此一定不会终止程序
B 改程序对异常处理了,不一定不会因异常引发终止
C 语句块1,如果抛出IndexError 异常,不会因为异常终止程序
D 语句块2 不一定会执行
33. 导入模块的方式错误的是( D )
A import mo B from mo import *
C import mo as m D import m from mo
34. 以下关于模块说法错误的是( C )
A 一个xx.py就是一个模块
B 任何一个普通的xx.py文件可以作为模块导入
C 模块文件的扩展名不一定是 .py
D 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
二、填空/简答
1.如何用pip安装指定版本的第三方库?比如安装django(1.11.11版本)
**cmd 中pip install django ==1.11.11**
2.代码:print=”Hello iSoftStone” print(print) 输出打印的结果是_______
报错 TypeError (参考LEGB原则)
LEGB代表名字查找顺序:
Locals -> enclosing function -> globals -> builtins
Locals: 函数内的名字空间,包括局部变量和形参
Enclosing: 外部嵌套的名字空间(常见于闭包)
globals: 全局变量,函数定义所在模块的名字空间
builtins: 内置模块的名字空间
3.将list[‘1’, ’2’, ’3’] 列表里的内容拼接成字符串 ”1,2,3”, 用join方法。
list = [“1”, ”2”, “3”]
str=’ , ‘.join(list)
print(sttr)
4. str=”abcdef”, 如何用切片操作将str反转得到str= ”abcde”?
print(str[: : -1]) 或 print(str[-1: : -1])
5.装饰器的作用以及基本语法是什么?
在不改变函数原有功能的基础上为函数增加新的功能。
强调装饰器的原则:a 不修改被装饰对象的源代码 b 不修改被装饰对象的调用方式
基本语法:
def wrapper(func):
def inner(*args,**kwargs):
return func(*args,**kwargs)
return inner
6.可迭代对象、迭代器对象的区别
迭代对象不一定是迭代器对象,迭代器对象一定是可迭代的。
7 . hasattr、setattr、getattrs 的使用方法
hasattr:判断一个实例对象中是否含有name的属性或者方法名为name;
setattr:给一个实例对象增加一个key-val形式的键值;
getattr:取一个实例对象中的name属性或者方法名为name
8 . return、yield的使用区别?
在一个函数里return只有一个,只要遇到return 就会停止执行该函数;
一个函数里yield可以有多个,通过next()函数进行访问。
9. 类中内置的 getattr、setattr 方法的作用是_______
getattr是内置方法,当使用点符号获取属性时,如果属性不存在就自动调用getatr方法;
setarr:当设置类的实例属性时自动调用,如obj.name=5就会调用setarr方法。
10. 在实际项目中都用过哪些模块?
re、os、time、random、math、……
11. 什么是GIL(全局解释器锁) 与互斥锁?
互斥锁:保证锁定同一个线程,修改这个完整数据后释放该锁,时用户程序自己的锁。
使用情况:因为使用时暂用时间,影响其他线程等待,所以尽量修改处理块的数据后立即释放锁。
GIL: 全局解释器锁,一个进程中,只能同时仅有一个线程来执行,获得相关的锁,获取相关资源。如果一个进程只能由一个线程来执行,同一进程下的多线程的并行则成为不可能,即使这几个线程之间不存在资源的竞争。从理论上讲,我们要尽可能使程序更加并行,能够充分利用多核的功能。
12 . python里面测试框架有哪些?
unittest、unittest2、nose、doctest、pytest
13. 已知x=”a b c d”, 那么表达式 ‘ , ‘.join(x.split() )的结果是: ‘a,b,c,d’ 或 a,b,c,d
14. 表达式eval(“3+5”)的结果是: 8
15. 表达式”Hello world!”[-4:]的结果是: rld! 或 ‘rld!’
16. 表达式3 in [1,2,3] 的结果是: True
17.已知 x= [3,3,4], 那么表达式 id( x[0] )==id( x[1] ) 的结果是: True
18 . Python中,运算符表示集合A是集合B的子集和真子集: setA<=setB、setA
19. 表达式set=(1,2,2,3) ==(1,2,3) 的结果是: True
20. 已知列表x=[1,2], 执行语句y=x 后,表达式x is y 的结果是: True
21. python中用于底层网络交互的库有哪些? requests、socket, urllib,urllib3 , grab, pycurl
22. python常见的命令行交互自动化模块有哪些?
a) Import module
b) Import module1,module2
c) From module import *
d) Frommodule import m1,m2,m3
e) From module import logger asmodule_logger
23. python网络交互时,二进制打包解包的模块有哪些
打包:pack(), 解包:upk()
24. 一行把[1,2,3,1,2,3] 中的重复元素剔除
list(set([1,2,3,1,2,3]))
25. 列出五个你所熟悉的python标准库?五个第三方库?(自由发挥)
标准库:os 提供了不少与操作系统相关联的函数、pickle 持久化
sys 通常用于命令行参数、re 正则匹配、math 数学运算 、io IO操作库
第三方库:requests 简洁简单的处理HTTP请求、numpy 开源数值计算
django 功能丰富的web开发框架、scripy-redis 用于分布式爬虫
pandas 高效操作大型数据集
26. python 内建的数据类型有哪些?
整形int、布尔bool、字符串str、列表list、元组tuple、集合set、字典dict
27. 什么是lambda 函数,举例说明。
lambda函数 ,即匿名函数。简洁,不需要考虑命名重复的问题。
举例:lambda: x,y:x+y
28. 列出三个 PEP8 规范。
一、命名规范。
a尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母。
b模块命名尽量短小,使用全部小写的方式,可以使用下划线。
c 包命名尽量短小,使用全部小写的方式,不可以使用下划线。
d 类的命名使用CapWords的方式,模块内部使用的类采用_CapWords的方式。
e 异常命名使用CapWords+Error后缀的方式。
二、注释。 总体原则,错误的注释不如没有注释。最好是完整的句子,句后要有结束符,结束符后跟两个空格,开始下一句。如果是短语,可以省略结束符。
a.块注释,在一段代码前增加的注释。在‘#’后加一空格。段落之间以只有‘#’的行间隔。
b.行注释,在一句代码后加注释。比如:x = x + 1 # Increment x
c.避免无谓的注释。
三、缩进
a. 一个Tap相当于四个空格。注意不能混合使用Tap和空格。
b. 换行使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。
c. 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。
三、编程题(略)
a=[1, 2, 3, 4]
b=[3, 2, 5]
c=(a+b)
c.sort()
print(c)
Import re
p = re.compile(r’^isoftstone(.*)@.com$’)
def get_re_data(p,strin):
m=re.match(p,s)
if m is not None:
return(m.groups()[0])
return None
四、判断题
1. python 安装扩展库常用pip 工具。对
2. 为了让代码更加紧凑,编写python程序时应尽量避免加入空格和空行。 错
3. 执行语句 from math import sin 后,可以直接使用 sin()函数。例如sin(3) 对
4. 不同版本的python 不能安装在同一台计算机上。 错
5. python 字典中的键不允许重复。 对
6. python字典和集合属于无语序列。 对
7. 在编写多层循环时,为了提高效率,应尽量减少内循环中不必要的计算。 对
8. Python是一种跨平台、开源、免费的高级动态编程语言。对
9. Python 3.x完全兼容Python 2.x。 错
10. Python 3.x和Python 2.x唯一的区别就是:print在Python 2.x中是输出语句,而在Python 3.x中是输出函数。 错
11. 在Windows平台上编写的Python程序无法在Unix平台运行。错
12. 不可以在同一台计算机上安装多个Python版本。 错
13. 已知 x = 3,那么赋值语句 x = ‘abcedfg’ 是无法正常执行的。 错
14. 继承自threading.Thread类的派生类中不能有普通的成员方法。 错
15. 扩展库os中的方法remove()可以删除带有只读属性的文件。 错
16. 使用内置函数open()且以’w’打开的文件,文件指针默认指向文件尾 错
17. 使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。 错
18. Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。错
19. Python采用的是基于值得自动内存管理方式。 对
20. 在任何时刻相同的值在内存中都只保留一份 错
21. Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。对
22. 在Python中可以使用if作为变量名。 错
23. 在Python 3.x中可以使用中文作为变量名。 对
24. Python变量名必须以字母或下划线开头,并且区分字母大小写。对
25. 加法运算符可以用来连接字符串并生成新字符串。 对
26. 99999999这样的命令在Python中无法运行。 错
27. 3+4j不是合法的Python表达式。 错
28. 0o12f是合法的八进制数字。 错
29. Python 2.x和Python 3.x中input()函数的返回值都是字符串。错
30. pip命令也支持扩展名为.whl的文件直接安装Python扩展库。对
31. 只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。 错
32. 在Python中0xad是合法的十六进制数字表示形式。 对
34. 3+4j 是合法Python数字类型。 对
35. 在Python中0oa1是合法的八进制数字表示形式。 错
36. Python使用缩进来体现代码之间的逻辑关系。对
37. Python代码的注释只有一种方式,那就是使用#符号。 错
38. 调用函数时,在实参前面加一个型号表示序列解包。 对
39. 放在一对三引号之间的任何内容将被认为是注释。错
40. Python支持使用字典的“键”作为下标来访问字典中的值。对
41. 列表可以作为字典的“键”。 错
42. 元组可以作为字典的“键”。 对
43. 字典的“键”必须是不可变的。 对
44. 尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。 对
45. 为了让代码更加紧凑,编写Python程序时应尽量避免加入空格和空行。 错
46. 在Python 3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算。 错
47. 已知x为非空列表,那么表达式 sorted(x, reverse=True) == list(reversed(x)) 的值一定是True。 错
48. 已知x为非空列表,那么x.sort(reverse=True)和x.reverse()的作用是等价的。 错
49. 生成器推导式比列表推导式具有更高的效率,推荐使用。 对
50. Python集合中的元素不允许重复。 对
51. Python集合可以包含相同的元素。 错
52. Python字典中的“键”不允许重复。 对
53. Python字典中的“值”不允许重复。错
54. Python集合中的元素可以是元组。对
55. Python集合中的元素可以是列表。 错
56. Python字典中的“键”可以是列表。错
57. Python字典中的“键”可以是元组。对
58. Python列表中所有元素必须为相同类型的数据。 错
59. Python列表、元组、字符串都属于有序序列。 对
60. 在Python 3.x中语句 print([1,2,3]) 不能正确执行。 错
61. 已知A和B是两个集合,并且表达式AB的值一定为True。 错
62. 列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。 对
63. 对于列表而言,在尾部追加元素比在中间位置插入元素速度更快一些,尤其是对于包含大量元素的列表。 对
64. 假设有非空列表x,那么x.append(3)、x = x+[3]与x.insert(0,3)在执行时间上基本没有太大区别。 错
65. 使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。(对)
66. 假设x为列表对象,那么x.pop()和x.pop(-1)的作用是一样的。(对)
67. 使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。(对)
68. 带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。(错)
69. 对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。(对)
70. 已知列表 x = [1, 2, 3],那么执行语句 x = 3 之后,变量x的地址不变。(错)
71. 在UTF-8编码中一个汉字需要占用3个字节。(对)
72. 在GBK和CP936编码中一个汉字需要2个字节。(对)
73. 如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。(对)
74. 使用列表对象的remove()方法可以删除列表中首次出现的指定元素,如果列中不存在要删除的指定元素则抛出异常。(对)
75. 元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。(对)
76. 无法删除集合中指定位置的元素,只能删除特定值的元素。(对)
77. 元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。(对)
78. 当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则表示为字典对象添加一个新的“键-值对”。(对)
79. 假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常。(错)
80. 只能对列表进行切片操作,不能对元组和字符串进行切片操作。(错)
81. 只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。(错)
82. 只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(对)
83. 字符串属于Python有序序列,和列表、元组一样都支持双向索引。(对)
84. Python字典和集合支持双向索引。(错)
85. 使用print()函数无法将信息写入文件。(错)
86. Python集合不支持使用下标访问其中的元素。(对)
87. 相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。(对)
88. 删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。(对)
89. 已知列表x中包含超过5个以上的元素,那么语句 x = x[:5]+x[5:] 的作用是将列表x中的元素循环左移5位。(错)
90. 对于生成器对象x = (3 for i in range(5)),连续两次执行list(x)的结果是一样的。(错)
91. 在循环中continue语句的作用是跳出当前循环。(错)
92. 在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算。(对)
93. 在Python中,任意长的字符串都遵守驻留机制。(错)
94. Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(对)
95. Python字符串方法replace()对字符串进行原地修改。(错)
96. 如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。(对)
97. 对于大量列表的连接,extend()方法比运算符+具有更高的效率。(对)
98. 表达式 {1, 3, 2} > {1, 2, 3} 的值为True。(错)
99. 列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。(对)
100. 正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None。(对)
101. 函数是代码复用的一种方式。(对)
102. 定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。(对)
103. 编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码。(对)
104. 一个函数如果带有默认值参数,那么必须所有参数都设置默认值。(错)
105. 定义Python函数时必须指定函数返回值类型。(错)
106. 定义Python函数时,如果函数中没有return语句,则默认返回空值None。(对)
107. 如果在函数中有语句 return 3,那么该函数一定会返回整数3。(错)
108. 函数中必须包含return语句。(错)
109. 函数中的return语句一定能够得到执行。(错)
110. 不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。(对)
111. 全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。(对)
112. 函数内部定义的局部变量当函数调用结束后被自动删除。(对)
113. 在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。(对)
114. 在函数内部没有办法定义全局变量。(错)
115. 对于数字n,如果表达式 0 not in [n%d for d in range(2, n)] 的值为True则说明n是素数。(对)
116. 表达式 ‘a’+1的值为’b’。(错)
117. 在函数内部直接修改形参的值并不影响外部实参的值。(对)
118. 在函数内部没有任何方法可以影响实参的值。(错)
119. 调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。(错)
120. 创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。(对)
121. 在同一个作用域内,局部变量会隐藏同名的全局变量。(对)
122. 形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。(对)
123. 假设已导入random标准库,那么表达式 max([random.randint(1, 10) for i in range(10)]) 的值一定是10。(错)
124. Python标准库random的方法randint(m,n)用来生成一个[m,n]区间上的随机整数。(对)
125. Python中一切内容都可以称为对象。(对)
126. 栈和队列的都具有先入后出的特点。(错)
127. 在一个软件的设计与开发中,所有类名、函数名、变量名都应该遵循统一的风格和规范。(对)
128. 定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。(对)
129. 在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。(错)
130. Python中没有严格意义上的私有成员。(对)
131. 在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了mul()方法即可支持该类对象的运算符。 错
132. 在IDLE交互模式下,一个下划线“”表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果。 对
133. 对于Python类中的私有成员,可以通过“对象名.类名__私有成员名”的方式来访问。(对)
134. 运算符 / 在Python 2.x和Python 3.x中具有相同的功能。 错
135. 运算符“-”可以用于集合的差集运算。 对
136. 如果定义类时没有编写析构函数,Python将提供一个默认的析构函数进行必要的资源清理工作。 对
137. 已知seq为长度大于10的列表,并且已导入random模块,那么[random.choice(seq) for i in range(10)]和random.sample(seq,10)等价。 错
138. 在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法。 对
139. Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。 对
140. 对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。 对
141. Python标准库os中的方法startfile()可以启动任何已关联应用程序的文件,并自动调用关联的程序。 对
144. 程序中异常处理结构在大多数情况下是没必要的。 错
145. 在try…except…else中,如果try块的语句引发了异常则会执行else块中的代码。错
146. Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。 对
147. 异常处理结构中的finally块中代码仍然有可能出错从而再次引发异常。对
148. 在GUI设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。 对
149. 在GUI设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多个选项中只能选择一个,当选择发生变化之后,之前选中的选项自动失效。 对
150. 在Python中定义类时实例方法的第一个参数名称必须是self。 错
151. 在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。对
152. Python代码可以内嵌在asp文件中。 对
153. 无法配置IIS来支持Python程序的运行。 错
154. Python标准库os中的方法startfile()可以用来打开外部程序或文件,系统会自动关联相应的程序来打开或执行指定的文件。 对
155. 在编写应用程序时,应合理控制线程数量,线程并不是越多越好。 对
156. 在多线程编程时,当某子线程的daemon属性为False时,主线程结束时会检测该子线程是否结束,如果该子线程尚未运行结束,则主线程会等待它完成后再退出。 对
157. Python只能使用内置数据库SQLite,无法访问MS SQLServer、ACCESS或Oracle、MySQL等数据库。 错
158. 使用OpenGL画图时,画点是最基本的操作,具体生成的图形由glBegin()函数指定的mode来决定。例如,mode值为GL_TRIANGLES时表示将要绘制三角形。 对
159. OpenGL采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该状态,否则该状态将一直保持。 对
160. 假设os模块已导入,那么列表推导式 [filename for filename in os.listdir(‘C:\Windows’) if filename.endswith(’.exe’)] 的作用是列出C:\Windows文件夹中所有扩展名为.exe的文件。对
161. 表达式 list(’[1, 2, 3]’) 的值是[1, 2, 3]。 错
162. 在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。 对
163. 定义类时如果实现了contains()方法,该类对象即可支持成员测试运算in。 对
164. 定义类时如果实现了len()方法,该类对象即可支持内置函数len()。 对
165. 定义类时实现了eq()方法,该类对象即可支持运算符==。 对
166. 定义类时实现了pow()方法,该类对象即可支持运算符。 对
167. 二进制文件不能使用记事本程序打开。 错
168. 使用普通文本编辑器软件也可以正常查看二进制文件的内容。 错
169. 二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。对
170. Python标准库os中的isfile()可以用来测试给定的路径是否为文件。 对
171. Python标准库os中的exists()可以用来测试给定路径的文件是否存在。 对
172. Python标准库os中的isdir()可以用来测试给定的路径是否为文件夹。 对
173. Python标准库os中的listdir()返回包含指定路径中所有文件和文件夹名称的列表。对
174. Python扩展库xlwt支持对Excel 2003或更低版本的Excel文件进行写操作。 对
175. Python扩展库xlrd支持对Excel 2003或更低版本的Excel文件进行读操作。 对
176. 带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码。 对
177. 异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。 对
178. 在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。对
179. 在Python中定义函数时不需要声明函数参数的类型。 对
180. 在Python中定义函数时不需要声明函数的返回值类型。 对
181. 在函数中没有任何办法可以通过形参来影响实参的值。 错
182. 已知 x = 3,那么执行语句 x+=6 之后,x的内存地址不变。 错
183. 已知x为非空字符串,那么表达式 ‘’.join(x.split()) == x 的值一定为True。错
184. 已知x为非空字符串,那么表达式 ‘,’.join(x.split(’,’)) == x 的值一定为True。 对
185. 在Python中可以使用 for 作为变量名。 错
186. 在Python中可以使用 id 作为变量名,尽管不建议这样做。 对
187. Python关键字不可以作为变量名。 对
188. 一个数字5也是合法的Python表达式。 对
189. 同一个列表对象中的元素类型可以各不相同。 对
190. 同一个列表对象中所有元素必须为相同类型。 错
191. 已知x为非空列表,那么执行语句x[0] = 3之后,列表对象x的内存地址不变。对
192. 列表可以作为集合的元素。 错
193. 集合可以作为列表的元素。 对
194. 元组可以作为集合的元素。 对
195. 集合可以作为元组的元素。 对
196. 字典可以作为集合的元素。错
197. 集合可以作为字典的键。错
198. 集合可以作为字典的值。 对
199. 可以使用del删除集合中的部分元素。错
200. 标准库os的rename()方法可以实现文件移动操作。对
201. 标准库os的listdir()方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件。对
202. 当作为条件表达式时,[]与None等价。对
203. 表达式 [] == None 的值为True。(错)
204. 当作为条件表达式时,{}与None等价。(对)
205. 表达式 {}==None 的值为True。(错)
206. 表达式 pow(3,2) == 32 的值为True。(对)
207. 当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(对)
208. 在定义函数时,某个参数名字前面带有一个符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。(对)
在定义函数时,某个参数名字前面带有两个符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。(对)
209. 定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。(对)
210. 在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。(对)
211. 在调用函数时,必须牢记函数形参顺序才能正确传值。(错)
212. 调用函数时传递的实参个数必须与函数形参个数相等才行。(错)
213. 正则表达式对象的match()可以在字符串的指定位置开始进行指定模式的匹配。 对
214. 使用正则表达式对字符串进行分割时,可以指定多个分隔符,而字符串对象的split()方法无法做到这一点。(对)
215. 在编写函数时,建议首先对形参进行类型检查和数值范围检查之后再编写功能代码,或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。(对)
216. 执行语句 from math import sin 之后,可以直接使用 sin() 函数,例如 sin(3)。(对)
217. 列表对象的pop()方法默认删除并返回最后一个元素,如果列表已空则抛出异常。(对)
218. 在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。(对)
219. 在类定义的外部没有任何办法可以访问对象的私有成员。(错)
220. 可以使用py2exe或pyinstaller等扩展库把Python源程序打包成为exe文件,从而脱离Python环境在Windows平台上运行。(对)
221. Python程序只能在安装了Python环境的计算机上以源代码形式运行。(错)
222. 一般来说,Python扩展库没有通用于所有版本Python的,安装时应选择与已安装Python的版本对应的扩展库。
223. 表达式 {1, 2} * 2 的值为 {1, 2, 1, 2}。(错)
224. Python变量名区分大小写,所以student和Student不是同一个变量。(对)
225. 正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。(对)
226. 正则表达式元字符“\s”用来匹配任意空白字符。(对)
227. 正则表达式 元字符“\d”用来匹配任意数字字符。(对)
228. lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式。(对)
229. Python类的构造函数是init()。(对)
230. 定义类时,在一个方法前面使用@classmethod修饰,则该方法属于类方法。(对)
231. 定义类时,在一个方法前面使用@staticmethod修饰,则该方法属于静态方法。(对)
232. 通过对象不能调用类方法和静态方法。(错)
233. 在Python中可以为自定义类的对象动态增加新成员。(对)
234. Python类不支持多继承。(错)
235. 属性可像数据成员一样进行访问,但赋值时具有方法的优点,可以对新值进行检查。(对)
236. 文件对象是可以迭代的。(对)
237. 文件对象的tell()方法用来返回文件指针的当前位置。(对)
238. 以写模式打开的文件无法进读操作。(对)
239. 假设已成功导入os和sys标准库,那么表达式 os.path.dirname(sys.executable) 的值为Python安装目录。(对)
240. 只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。(错)
242. Python字典支持双向索引。(错)
243. Python集合支持双向索引。(错)
244. Python元组支持双向索引。(对)
245. 假设re模块已成功导入,并且有 pattern = re.compile(’^’+’.’.join([r’\d{1,3}’ for i in range(4)])+’‘只能检查给定字符串是否为18位或15位数字字符,并不能保证一定是合法的身份证号。(对)
247. 二进制文件也可以使用记事本程序打开,只是无法正确阅读和理解其中的内容。(对)
248. 正则表达式’[^abc]‘可以一个匹配任意除’a’、‘b’、'c’之外的字符。(对)
249. 正则表达式’python|perl’或’p(ython|erl)‘都可以匹配’python’或’perl’。(对)
250. 文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行。(对)
251. Python的主程序文件python.exe属于二进制文件。(对)
252. 使用记事本程序也可以打开二进制文件,只不过无法正确识别其中的内容。(对)
253. 对字符串信息进行编码以后,必须使用同样的或者兼容的编码格式进行解码才能还原本来的信息。对
254. 使用pickle进行序列化得到的二进制文件使用struct也可以正确地进行反序列化。错
255. 已知当前文件夹中有一个文件readme.txt具有只读属性,假设标准库os已正确导入,那么可以通过语句os.chmod(‘readme.txt’, 0o777)来删除该文件的只读属性。对
256. Python标准库os的函数remove()不能删除具有只读属性的文件。对
257. 字节串b’hello world’和b’hello world.'的MD5值相差很小。错
258. 由于异常处理结构try…except…finally…中finally里的语句块总是被执行的,所以把关闭文件的代码放到finally块里肯定是万无一失,一定能保证文件被正确关闭并且不会引发任何异常。错
259. 使用TCP协议通信时,必须首先建立连接,然后进行数据传输,最后再关闭连接。对
260. TCP是可以提供良好服务质量的传输层协议,所以在任何场合都应该优先考虑使用。错