python测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
1.下列哪个语句在Python中是非法的?B
A、x = y = z =1
B、x = (y = z + 1)
C、x, y = y, x
D、x += y
2.关于Python内存管理,下列说法错误的是B
A、变量不必事先声明
B、变量无须先创建和赋值而直接使用
C、变量无须指定类型
D、可以使用del释放资源
3、下面哪个不是Python合法的标识符B
A、int32
B、40XL
C、self
D、name
4、下列哪种说法是错误的A
A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、值为0的任何数字对象的布尔值是False
5、下列表达式的值为True的是D
A、5+4j >2-3j
B、3>2>2
C、(3,2)<(‘a’,‘b’)
D、’abc’ > ‘xyz’
6、Python不支持的数据类型有A
A、char
B、int
C、float
D、list
7*、关于Python中的复数,下列说法错误的是C
A、表示复数的语法是real + imagej
B、B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写
D、方法conjugate返回复数的共轭复数
8、关于字符串下列说法错误的是B
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
9、以下不能创建一个字典的语句是D
A、dict1 = {}
B、dict2 = { 3 : 5 }
C、dict3 ={[1,2,3]: “uestc”}
D、dict4 = {(1,2,3): “uestc”}
11*、以下代码运行结果是什么(假设在python 2.X下)()A print type(1/2)
A. int
B. float
C. 0
D. 1
13、以下代码运行结果是什么?(C)
print (r"nwoow")
A.另起一行输出: noow
B.输出: r”nwoow”
C.输出: nwoow
D.先输出一行,再换行在输出: nwoow
二、判断题
1.列表中的元素可以是不同数据类型T
2.元组中的元素只能是同一数据类型F
3.元组中的元素是不可更改的T
4.字典中可以添加新的键-值T
5. a = 1; a = a + 1;前者a的地址与后者a的地址相同F
6. a = [1, 2, 3]; a.append(7); 前者a的地址与后者a的地址相同T
7. a = {‘a’:1, ‘b’:2}; a[‘c’] = 3; 前者a的地址与后者a的地址相同T
8.在函数中,传入数字、字符或者元组等不可变对象属于值传递T
9.在函数中,传入列表、字典等可变对象属于引用传递T
10.在函数中,定义fun(a=1, b),按照fun(2)调用, 运行不会报错F
11.使用可变长参数函数fun(*args, **kwargs),按照fun(2,3,4)调用,
则args值为(2,3,4),kwargs为空字典T
12.字符串函数title()是使字符串开头首字母大写F T
13.字符串函数capitalize()是使字符串开头首字母大写T F
14.python能多层继承T
15.python在删除对象时会自动调用析构函数T
16.python私有成员只能内部访问,不能从对象来访问T
17.静态变量与静态方法属于实例
18.静态方法可以直接访问,不需要使用“类名.静态方法名”调用。
19.静态方法可以直接对类静态变量进行操作
20.类方法可以对类静态变量进行操作T
21.静态方法不需要关键字self T
22.静态方法可以访问对象变量F
23.类方法可以访问对象变量F
24.静态方法、类方法都可以被对象调用T
25.标准输出是指输出至文件F
26.标准输入是指从键盘输入T
27.文件’wb’模式是指按照文本模式只写F
28.文件’r+'模式是只读模式F
29.文件’r+'模式可以读写,但文件一定要存在T F
30.文件’w+'模式可以读写,文件不存在时先建立文件T
三、问答题
1.Python是如何进行内存管理的?
答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制
一、对象的引用计数机制
Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。
引用计数增加的情况:
1,一个对象分配一个新名称
2,将其放入一个容器中(如列表、元组或字典)
引用计数减少的情况:
1,使用del语句对对象别名显示的销毁
2,引用超出作用域或被重新赋值
sys.getrefcount( )函数可以获得对象的当前引用计数
多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。
二、垃圾回收
1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。