生成一个学生对象Student,对象有学号,年龄,身高。将学生对象存储到文件,然后从文件中读取数据重新生成Student对象。
时间: 2024-02-16 13:02:50 浏览: 60
写一个类Student,包含三个属性学号id,姓名name和年龄age;要求覆盖基类Object中的ToString()方法和Equals()方法,使得直接输出Student对象时输出的是对象的id,name和age信息;并且当两个对象的学号相同时认为它们相等;
4星 · 用户满意度95%
好的,以下是实现的Python代码:
```python
import pickle
class Student:
def __init__(self, num, age, height):
self.num = num
self.age = age
self.height = height
def __str__(self):
return f"学号:{self.num},年龄:{self.age},身高:{self.height}"
# 创建学生对象
student = Student("20210001", 18, 1.75)
# 将学生对象存储到文件
with open("student.dat", "wb") as file:
pickle.dump(student, file)
# 从文件中读取数据重新生成Student对象
with open("student.dat", "rb") as file:
new_student = pickle.load(file)
print(new_student)
```
首先我们定义了一个`Student`类,有三个属性:学号、年龄、身高,以及一个`__str__`方法用于打印学生对象信息。
然后我们创建了一个`student`对象,将其存储到文件中。使用`pickle`模块的`dump`函数可以将对象序列化并存储到文件中。
最后我们使用`pickle`模块的`load`函数从文件中读取数据并重新生成了一个`new_student`对象。最后打印`new_student`对象信息。
阅读全文