《Python程序设计》习题与答案 下载本文

r.Z = self.Z // n return r def show(self):

print((self.X,self.Y,self.Z)) v1 = Vecter3(1,2,3) v2 = Vecter3(4,5,6) v3 = v1+v2 v3.show() v4 = v1-v2 v4.show() v5 = v1*3 v5.show() v6 = v1/2 v6.show()

6.3 面向对象程序设计的三要素分别为 封装 、 继承 和 多态 。 6.4 简单解释Python中以下划线开头的变量名特点。

答:

在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定义中。用下划线作为变量前缀和后缀来表示类的特殊成员:

? _xxx:这样的对象叫做保护变量,不能用'from module import *'导入,只有类对

象和子类对象能访问这些变量;

? __xxx__:系统定义的特殊成员名字;

? __xxx:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成

员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式来访问。Python中没有纯粹的C++意义上的私有成员。

6.5 与运算符“**”对应的特殊方法名为 __pow__() ,与运算符“//”对应的特殊方法名为 __floordiv__() 。

第7章 文件操作

7.1 假设有一个英文文本文件,编写程序读取其内容,并将其中的大写字母变为小写字母,小写字母变为大写字母。

答:

f = open(r'd:\\1.txt','r') s = f.readlines() f.close()

r = [i.swapcase() for i in s] f = open(r'd:\\2.txt','w') f.writelines(r) f.close()

7.2 编写程序,将包含学生成绩的字典保存为二进制文件,然后再读取内容并显示。 import pickle

d = {'张三':98,'李四':90,'王五':100} print(d)

f = open('score.dat','wb') pickle.dump(1,f)

pickle.dump(d,f) f.close

f = open('score.dat','rb') pickle.load(f) d = pickle.load(f) f.close() print(d)

7.3 使用shutil模块中的move()方法进行文件移动。 答:

>>> import shutil

>>> shutil.move(r'd:\\1.txt', r'e:\\1.txt') 'e:\\\\1.txt'

7.4 简单解释文本文件与二进制文件的区别。 答:

(1)文本文件

文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符'\\n'结尾。常规字符串是指记事本或其他文本编辑器能正常显示、编辑并且人类能够直接阅读和理解的