文章目录
- 五. python程序结构
- 1.选择题
- 2. 编程题
- 六. 函数
- 1. 选择
- 2.简答题
- 3. 编程题
- 七. python面向对象编程
- 1.选择题
- 2.简答题
五. python程序结构
1.选择题
1.[答案]:A
[解析]:通过分析程序,可以看出x = 3的条件是2 < k < 5 ,即k = 3 , 4 , 5。
2.[答案]:D
[解析]:拼写错误、表达式错误和缩进错误都会导致程序报错,但手动抛出异常不会。
3.[答案]:B
[解析]:A选项手动抛出异常程序不一定会终止,错误。CD选项并不一定导致程序终止,可能导致程序运行结果错误或跟预期不一样。只有B选项正确。
4.[答案]:A
[解析]:该程序对IndexError类型的异常进行了处理,但如果出现其他类型的异常程序仍然会终止,A选项错误,B正确。
5.[答案]:B
[解析]:输入1a,y中的代码不能正常运行,走到except 打印异常信息,之后不走else,运行finally,最后打印“end”,B选项正确。
2. 编程题
见github:第五章练习题
六. 函数
1. 选择
[答案]:C
[解析]:C选项中使用 from turtle import setup 导入的是 turtle库中 setup函数,而不是整个turtle库,所以C选项是错误的。[答案]:A
[解析]:程序是由一系列函数组成的,这种描述是不准确的,可以说程序是由一系列代码组成的,所以选项选择 A选项。[答案]:D
[解析]:函数中没有出现return语句默认返回None,D选项正确。[答案]:C
[解析]:for n in numbers 要求 numbers是可以迭代的,列表、字符串和元组都是可以迭代的数据类型,C是浮点数,因此C选项错误。[答案]:B
[解析]:调用 chanageInt(number1)即 chanageInt(2),将实参2传给函数中的形参number2,即number2=2,经过number2=number2+1,得到number2=3,因此函数内的打印结果为“changeInt:number2=3”。而number1是全局变量,并未在函数内部发生改变,因此函数外的打印结果为“number:2”,B选项正确。[答案]:C
[解析]:调用函数 chanageList(strs),其中实参strs=[“1”,“2”],将实参strs传给形参list,执行append操作后list=[“1”,“2”,“end”],因此C选项正确。传递参数的过程相当于sfrs=list,这种复制方式属于非拷贝,两个列表的id地址相同,改变其中一个列表的元素另一个也会随之改变,因此strs=[“1”,“2”,“end”][答案]:D
[解析]:正确的方式是from…import…,D选项错误。
2.简答题
1.对于Python函数的定义,很多人都有自己的看法,请简要阐述定义函数的规则。
(1)函数代码块以def关键词开头,后接函数标识符和圆括号(),()后必须接冒号:。
(2)需要传入函数的参数必须放在圆括号内。
(3)可以先写注释添加函数说明,再写函数主体功能。
(4)函数主体内容需要缩进。
(5)return结束函数,返回值给调用方。不带表达式的return或者没有return相当于返回None。
3. 编程题
见github :第六章函数
七. python面向对象编程
1.选择题
1.[答案]:D
[解析]Pythoh中的类都继承自object父类,该父类中有很多内置的类方法。
2.[答案]B
[解析]:类的实例方法只有在创建对象后才可以调用。
3.[答案]:C
[解析]:类的_init_方法有参数name,因此创建类对象需要提供参数name,AB选项错误,调用类中函数即使没有额外参数也要包含括号,D选项错误,只有C选项正确。
4.[答案]:D
[解析]:类D继承了类A和C,因此类D有方法a、c和d,没有方法b,执行d.b()会报错,D选项正确。
2.简答题
请你来说说Python面向对象方法_new_()和_init()的区别?
(1)_new_()是一个静态方法,而_init_()是一个实例方法。
(2)_new_0方法会返回一个创建的实例,而_init_()什么都不返回。
(3)只有在_new_(返回一个class的实例时后面的_init_()才能被调用。
(4)当创建一个新实例时调用n e w \underline { } 0 ,,初始化一个实例时用_init_0。请简述文件操作中的read()、readline()和readlines()之间的区别?
这三个方法方法都可以用来读取文件内容,但它们也有区别:
(1)read(size)方法读取整个文件。参数size表示读取的字节数。
(2)readline(size)方法从文件中读取整行,包括" \ln "字符。参数size非负,则返回指定大小的字节数,但注意一次只读取一行内容。
(3)readlines(hint)默认读入所有行,每行为列表中的一个元素。如果总行数字符数量超出了hint参数指定只会读取该参数指定的大小。