import pickle
import os
import uuid
class School:
school = 'old boy'
def __init__(self, name):
self.id=uuid.uuid4()
self.name = name # 校区名
self.classes = []
def related_class(self, class_obj):
self.classes.append(class_obj)
def write_class(self):
print(self.name)
for class_obj in self.classes:
class_obj.write_course()
class_obj.write_student()
def save(self):
with open(r'D:\cool\{0}{1}.pkl'.format(self.id,self.name),'wb')as x:
pickle.dump(self.classes,x)
print(os.path)
school_obj1 = School('上海校区')
school_obj2 = School('北京校区')
# school_obj2.save()
class Class:
def __init__(self, name):
self.name = name
self.course = None
self.student=[]
def related_coures(self, class_obj):
self.course = class_obj
def related_student(self, student_obj):
self.student.append(student_obj)
def write_course(self):
print(self.name,end=' ')
self.course.write1()
def write_student(self):
for student_obj in self.student:
student_obj.write2()
class_obj1 = Class('脱产1期')
class_obj2 = Class('脱产2期')
class_obj3 = Class('脱产3期')
school_obj1.related_class(class_obj1)
school_obj1.related_class(class_obj2)
school_obj2.related_class(class_obj3)
class Course:
def __init__(self, name, period, money):
self.name = name
self.period = period
self.money = money
def write1(self):
print(self.name,self.money,self.period)
course_obj1 = Course('python', '6个月', '2w')
course_obj2 = Course('linux', '5个月', '1.8w')
class_obj1.related_coures(course_obj1)
class_obj2.related_coures(course_obj1)
class_obj3.related_coures(course_obj2)
class Student:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def write2(self):
print(self.name,self.age,self.gender)
student_obj1 = Student('egon', 58, 'female')
student_obj2 = Student('tank', 68, 'female')
student_obj3 = Student('alex', 78, 'female')
student_obj4 = Student('111', 18, 'male')
student_obj5 = Student('222', 18, 'male')
student_obj6 = Student('333', 18, 'male')
class_obj1.related_student(student_obj1)
class_obj1.related_student(student_obj2)
class_obj1.related_student(student_obj3)
class_obj2.related_student(student_obj4)
class_obj2.related_student(student_obj5)
class_obj3.related_student(student_obj6)
# school_obj1.write_class()
# school_obj2.write_class()
# school_obj1.save()
with open(r'D:\cool\20efaa56-70fb-4596-9572-94d016c72e1b上海校区.pkl','rb')as x:
res=pickle.load(x)
print(res)