python学习笔记(类的练习)

class School:
    school_name = "OLDBOY"

    def __init__(self,nickname,city):
        self.nickname = nickname
        self.city = city
        self.classes  = []

    def related_class(self,class_obj):
        self.classes.append(class_obj)

    def tell_class(self):
        print(f"分校:{self.nickname}")
        for class_obj in self.classes:
            class_obj.tell_course()

class Class:
    def __init__(self,name):
        self.name = name
        self.course = None
        self.student = []

    def related_course(self,course_obj):
        self.course = course_obj

    def related_student(self, student_obj):
        self.student.append(student_obj)

    def tell_course(self):
        print(f"班级:{self.name}")
        self.course.tell_info()
        for student in self.student:
            student.tell_info()

class Course:
    def __init__(self,name,period,price):
        self.name = name
        self.period = period
        self.price = price

    def tell_info(self):
        print(f"课程:{self.name},周期:{self.period},价格:{self.price}")

class Student:
    def __init__(self,name,sex,age):
        self.name = name
        self.sex = sex
        self.age = age

    def tell_info(self):
        print(f"学生姓名:{self.name},性别:{self.sex},年龄:{self.age}")




# 创建学校
school_obj1 = School("魔都校区","上海")
school_obj2 = School("首都校区","北京")

# school_obj1.related_class("脱产14期")
# school_obj2.related_class("脱产15期")

# school_obj1.tell_class()
print("--------------------------")
# 创建班级
class_obj1 = Class("脱产14期")
class_obj2 = Class("脱产15期")
# class_obj1.related_course("python全栈")
# class_obj2.related_course("linux运维")
# class_obj1.tell_course()
print("-------------------------------")
# 创建课程
course_obj1 = Course("python全栈","6个月",20000)
course_obj2 = Course("linux运维","6个月",18000)
# 查看课程详细信息
# course_obj1.tell_info()
# course_obj1.tell_info()

# 创建学生
student_obj1 = Student("nida","女",18)
student_obj2 = Student("yaoyao","女",17)
student_obj3 = Student("lili","男",22)

# 为学校关联班级
school_obj1.related_class(class_obj1)
school_obj2.related_class(class_obj2)
# school_obj1.tell_class()

# 为班级关联课程
class_obj1.related_course(course_obj1)
class_obj2.related_course(course_obj2)

# 为班级关联学生
class_obj1.related_student(student_obj1)
class_obj1.related_student(student_obj2)
class_obj2.related_student(student_obj3)

# 查看全部学校/班级/课程/学生
school_obj1.tell_class()
school_obj2.tell_class()
posted @ 2021-05-27 11:15  nida  阅读(68)  评论(0)    收藏  举报