import uuid
import pickle
import os
# 学校类
class School:
#校区的名字:如"老男孩上海校区"
#校区的地址:如"上海虹桥"
def __init__(self,name,area):
self.name = name
self.area = area
self.classlist = []
def save(self):
with open(f'school/{self.name}.pickle','wb') as f:
pickle.dump(self,f)
def tell_class(self):
print(f'{self.name}:')
for class_id in self.classlist:
with open(f'class/{class_id}.pickle', 'rb') as f:
class_obj = pickle.load(f)
class_obj.tell_class() #校区创建完毕后,可以为每个校区关联班级
def choose_class(self,class_obj):
self.classlist.append(class_obj.id) # 教室类
class SchoolClass:
#班级名字
#班级所在校区
def __init__(self,name,campus):
self.id = uuid.uuid4()
self.name = name
self.campus = campus
self.course_list = []
#班级创建完毕后,可以为每个班级关联课程
def choose_course(self,course_obj):
self.course_list.append(course_obj.id)
def save(self):
with open(f'class/{self.id}.pickle','wb') as f:
pickle.dump(self,f)
def tell_class(self):
print(f'班级名称:{self.name} 班级校区:{self.campus}')
# 课程类
class Course:
#课程名字
#课程周期
#课程价格
def __init__(self,cou_name,circle,price):
self.course_name = cou_name
self.id = uuid.uuid4()
self.circle = circle
self.price = price
def save(self):
with open(f'course/{self.id}.pickle','wb') as f:
pickle.dump(self,f)
def tell_course(self):
print(f'{self.course_name},{self.circle},{self.price}')
# 学生类
class Student:
def __init__(self,s_school,stu_name,age,sno,gender):
#学生的学校
#学生的姓名
#学生的年龄
#学号
#学生的性别
self.id = uuid.uuid4()
self.student_school = s_school
self.student_name = stu_name
self.student_age = age
self.student_sno = sno
self.student_gender = gender
#学生创建完毕后,学生可以选择班级
def choose_class(self,class_name):
self.class_name = class_name
def save(self):
with open(f'Student/{self.id}.pickle','wb') as f:
pickle.dump(self,f)
# 老师类
class Teacher:
def __init__(self,t_name,t_age,salary,level):
#老师的名字
#老师的年龄
#老师的薪资
#老师的等级
self.id = uuid.uuid4()
self.teacheer_name = t_name
self.teacheer_age = t_age
self.teacheer_salary = salary
self.teacheer_level = level
#老师创建完毕后,可以为学生打分
def save(self):
with open(f'Teacher/{self.id}.pickle','wb') as f:
pickle.dump(self,f)
def student_grade(self,student_obj,grade):
student_obj.grade = grade # 创建学校对象
school_obj = School('老男孩','上海') # 序列化保存学校信息
school_obj.save() # 创建班级对象
class_obj = SchoolClass('脱产14期','上海') # 序列化保存班级信息
class_obj.save() # 关联学校和班级
school_obj.choose_class(class_obj) # 反序列化得到班级信息
school_obj.tell_class()

最新文章

  1. zabbix触发器依赖
  2. "飞机大战"游戏_Java实现_详细注释
  3. java中的foreach循环
  4. C#学习笔记-----基于AppDomain的"插件式"开发
  5. 利用SQL语句查询数据库中所有表
  6. C# 取整
  7. 【HDOJ】【3709】Balanced Bumber
  8. VC++/MFC操作ini配置文件详解
  9. Nice way for strip_tags a like
  10. iOS进阶面试题----经典10道
  11. C# webBrowser操作 javascript
  12. 采用ACE登录设施(一)HelloWorld
  13. 学生成绩管理C语言版
  14. python函数(4):递归函数及二分查找算法
  15. hihoCoder1498-Diligent Robots
  16. [Inside HotSpot] C1编译器工作流程及中间表示
  17. Install rapyuta Robot Cloud Engine on Ubuntu14.04
  18. 四、windows下TortoiseGit的使用与操作
  19. 客户端负载均衡Ribbon之二:Loadbalance的源码
  20. Mahout 安装配置

热门文章

  1. apache 2.4 httpd 2.4.6 反向代理后端的服务为HTTPS https 基于centos7
  2. 软光栅-uraster代码阅读(入门极品)
  3. 自己动手实现深度学习框架-8 RNN文本分类和文本生成模型
  4. linu使用x之sz下载和rz上传
  5. Spring Cloud Alibaba系列(四)使用gateway作为服务网关
  6. 【JMeter_15】JMeter逻辑控制器__仅一次控制器<Once Only Controller>
  7. 【Flutter实战】六大布局组件及半圆菜单案例
  8. 【服务器】VMware Workstation Pro虚拟机搭建本地服务器CentOs7和宝塔面板(保姆式教程)
  9. 迷你图书管理系统 源代码 Java初级小项目
  10. android面试详解