面向对象中self可以代替整个对象的属性直接用来dump为改变后的对象
Posted 张朝华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象中self可以代替整个对象的属性直接用来dump为改变后的对象相关的知识,希望对你有一定的参考价值。
def __init__(self,name): self.name = name self.courses = [] self.flag = False with open(‘students‘,‘rb‘) as f1,open(‘students.bak‘,‘wb‘) as f2: while True: try: stu = pickle.load(f1) # 读出students文件中的一个学生对象 if stu.name == self.name: # 判断这个学生对象是不是当前登陆学生 pickle.dump(self,f2) # 如果是,把现在选课之后的信息写入文件 self代表安全更新过后的对象里面的属性全部都囊括 else: # 不是 pickle.dump(stu,f2) # 将原本学生的信息原封不动的写入新的文件 except EOFError: break
以上是关于面向对象中self可以代替整个对象的属性直接用来dump为改变后的对象的主要内容,如果未能解决你的问题,请参考以下文章