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'结尾。常规字符串是指记事本或其他文本编辑器能正常显示、编辑并且人类能够直接阅读和理解的