### 软件测试+Python测试开发面试题知识点解析 #### 一、中文单项选择题知识点解析 **1. 下列哪个语句在Python中是非法的?** - **选项A**: `x=y=z=1` — 此语句合法,可以将同一个值赋给多个变量。 - **选项B**: `x=(y=z+1)` — 此语句非法,因为在Python中不能在赋值语句中使用等号`=`进行链式赋值。 - **选项C**: `x,y=y,x` — 此语句合法,可以实现两个变量之间的交换。 - **选项D**: `x+=y` — 此语句合法,表示将`y`的值加到`x`上,并将结果赋给`x`。 **知识点:** - Python中的赋值语句及其规则。 - 变量的多重赋值。 - 变量交换的简便方式。 - 累加运算符的使用。 **2. 关于Python内存管理,下列说法错误的是:** - **选项A**: `变量不必事先声明` — 正确,Python中的变量无需事先声明。 - **选项B**: `变量无须先创建和赋值而直接使用` — 错误,变量必须先被赋值才能使用。 - **选项C**: `变量无须指定类型` — 正确,Python是一种动态类型语言,变量的类型根据所赋的值来决定。 - **选项D**: `可以使用del释放资源` — 正确,`del`关键字可以用来删除变量的引用,从而让垃圾回收器回收其占用的内存。 **知识点:** - Python的动态类型特性。 - 内存管理的基本概念。 - 变量的生命周期与作用域。 - `del`关键字的作用及使用场景。 **3. 下面哪个不是Python合法的标识符?** - **选项A**: `int32` — 合法,可以作为标识符使用。 - **选项B**: `40XL` — 非法,因为标识符不能以数字开头。 - **选项C**: `self` — 合法,虽然`self`通常用作类方法的第一个参数名,但它本身是一个合法的标识符。 - **选项D**: `__name__` — 合法,虽然它是一个特殊的系统保留名称,但仍然是合法的标识符。 **知识点:** - 标识符的命名规则。 - Python保留关键字。 - 特殊系统保留名称的使用。 **4. 下列哪种说法是错误的?** - **选项A**: `除字典类型外,所有标准对象均可以用于布尔测试` — 错误,实际上所有Python对象都可以用于布尔测试。 - **选项B**: `空字符串的布尔值是False` — 正确,空字符串的布尔值确实为`False`。 - **选项C**: `空列表对象的布尔值是False` — 正确,空列表的布尔值为`False`。 - **选项D**: `值为0的任何数字对象的布尔值是False` — 正确,任何数值为0的对象在布尔上下文中的值都为`False`。 **知识点:** - 布尔测试的基本原理。 - 空字符串、空列表以及数值为0的对象在布尔上下文中的表现。 - 字典类型的布尔测试规则。 **5. 下列表达式的值为True的是:** - **选项A**: `5+4j>2-3j` — 表达式非法,Python中复数不能直接比较大小。 - **选项B**: `3>2>2` — 表达式结果为`False`,因为`3>2`为`True`,而`True>2`是非法的。 - **选项C**: `(3,2)<('a','b')` — 表达式结果为`True`,元组之间按元素顺序比较。 - **选项D**: `'abc'>‘xyz’` — 表达式结果为`False`,因为`'abc'`在ASCII码表中比`'xyz'`小。 **知识点:** - 复数比较规则。 - 布尔表达式的逻辑判断。 - 元组之间的比较规则。 - 字符串之间的比较规则。 **6. Python不支持的数据类型有:** - **选项A**: `char` — 正确,Python没有单独的字符数据类型,字符被视为长度为1的字符串。 - **选项B**: `int` — 不正确,Python支持整型数据。 - **选项C**: `float` — 不正确,Python支持浮点型数据。 - **选项D**: `list` — 不正确,Python支持列表数据类型。 **知识点:** - Python数据类型概述。 - 字符与字符串的区别。 - 整型、浮点型和列表数据类型的应用。 **7. 关于Python中的复数,下列说法错误的是:** - **选项A**: `表示复数的语法是real+imagej` — 正确,复数表示形式为`实部+虚部j`。 - **选项B**: `实部和虚部都是浮点数` — 正确,实部和虚部都可以是整数或浮点数。 - **选项C**: `虚部必须后缀j,且必须是小写` — 错误,虚部后缀`j`可以是大写`J`。 - **选项D**: `方法conjugate返回复数的共轭复数` — 正确,`conjugate()`方法用于获取复数的共轭。 **知识点:** - 复数的基本表示方法。 - 复数的虚部后缀规则。 - 获取复数共轭的方法。 **8. 关于字符串下列说法错误的是:** - **选项A**: `字符应该视为长度为1的字符串` — 正确,Python中单个字符被视为长度为1的字符串。 - **选项B**: `字符串以\0标志字符串的结束` — 错误,Python字符串没有`\0`结尾的标志。 - **选项C**: `既可以用单引号,也可以用双引号创建字符串` — 正确,可以使用单引号或双引号创建字符串。 - **选项D**: `在三引号字符串中可以包含换行回车等特殊字符` — 正确,三引号字符串可以包含任何特殊字符。 **知识点:** - 字符串的创建方式。 - 字符串结束标志的理解。 - 特殊字符在字符串中的处理。 **9. 以下不能创建一个字典的语句是:** - **选项A**: `dict1={}` — 正确,这是创建空字典的常见方式。 - **选项B**: `dict2={3:5}` — 正确,可以通过键值对的形式创建字典。 - **选项C**: `dict3={[1,2,3]:“uestc”}` — 非法,因为字典的键不能是可变类型,如列表。 - **选项D**: `dict4={(1,2,3):“uestc”}` — 正确,可以通过元组作为键来创建字典。 **知识点:** - 创建字典的不同方式。 - 字典键的规则。 **10. 下列Python语句正确的是:** - **选项A**: `min=x if x<y else y` — 正确,此为条件表达式的正确使用。 - **选项B**: `max=x>y?x:y` — 非法,Python中没有三元操作符。 - **选项C**: `if(x>y) print(x)` — 非法,在Python 3中,`print`是一个函数,需要使用括号。 - **选项D**: `while True: pass` — 正确,这是一个无限循环的示例。 **知识点:** - 条件表达式的使用。 - Python 3中`print`函数的正确调用方式。 - 无限循环的构建。 #### 二、英文单项选择题知识点解析 由于题目中的英文部分与中文部分的知识点基本相似,这里主要解析几个具有代表性的题目: **1. What gets printed? Assuming python version 2.x()** ``` print type(1/2) ``` - **选项A**: `<type 'int'>` — 错误,在Python 2.x版本中,`1/2`的结果为0,因此类型为`<type 'int'>`。 - **选项B**: `<type 'number'>` — 错误,Python没有`<type 'number'>`这种类型。 - **选项C**: `<type 'float'>` — 错误,只有在Python 3.x中,`1/2`的结果才是浮点数。 - **选项D**: `<type 'double'>` — 错误,Python中没有`<type 'double'>`这种类型。 - **选项E**: `<type 'tuple'>` — 错误,显然与题目无关。 **知识点:** - Python 2.x和Python 3.x中除法运算符的区别。 - 类型检查的方式。 **2. What gets printed?()** ``` nums = set([1, 1, 2, 3, 3, 3, 4]) print len(nums) ``` - **选项A**: `1` — 错误,集合中不允许有重复元素。 - **选项B**: `2` — 错误。 - **选项C**: `4` — 正确,集合去除了重复元素,因此长度为4。 - **选项D**: `5` — 错误。 - **选项E**: `7` — 错误,原始列表长度为7,但集合长度不等于列表长度。 **知识点:** - 集合数据类型的特点。 - 集合去除重复元素的能力。 - `len()`函数的使用。 **3. What gets printed?()** ``` counter = 1 def doLotsOfStuff(): global counter for i in (1, 2, 3): counter += 1 doLotsOfStuff() print counter ``` - **选项A**: `1` — 错误,`counter`的初始值为1,函数执行后会改变。 - **选项B**: `3` — 错误,循环执行了3次,但每次循环都会增加1。 - **选项C**: `4` — 正确,函数执行后`counter`的值为4。 - **选项D**: `7` — 错误,函数执行过程中`counter`仅增加了3。 - **选项E**: `none of the above` — 错误。 **知识点:** - 函数内的全局变量使用。 - 循环结构的计数方式。 通过以上分析,我们深入了解了Python语言的一些基础知识和常用技巧,这对于参加软件测试或Python测试开发相关的面试来说是非常有用的准备。



















