day28 练习

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)

 

posted @ 2020-04-09 00:09  It's_cool  阅读(116)  评论(0)    收藏  举报