文章目录
一、需求
- 创建学校类
- 创建班级类
- 创建课程类
– 只要把对象传过去,要啥有啥
- 基本
class School():
school_name = 'hgc'
# 独有的东西
def __init__(self, nickname, addr):
self.nickname = nickname
self.addr = addr
self.classes = []
# 关联班级
def related_class(self, class_name):
self.classes.append(class_name)
# 打印班级信息
def tell_classes(self):
for class_name in self.classes:
print('%s'%class_name)
# 一、学校
# 1、创建学校
school_obj1 = School('北京校区', '北京')
school_obj2 = School('上海校区', '上海')
# 2、为校区开设班级
# 北京得03届、04届
school_obj1.related_class('03届01班')
school_obj1.related_class('04届01班')
# 上海的03届
school_obj2.related_class('03届01班')
# 想打印'北京校区03届', 做成函数, 放到类里面
print(school_obj1.classes)
print(school_obj2.classes)
# 3、查看每个校区开设的班级
school_obj1.tell_classes()
school_obj2.tell_classes()
class Class():
def __init__(self, name):
self.name = name
self.course = None
# 添加课程
def add_course(self, course_name):
self.course = course_name
# 查看都有什么课程
def tell_course(self):
print('%s %s' % (self.name, self.course))
# 二、班级
# 1、创建班级
class_obj1 = Class('03届01班')
class_obj2 = Class('04届01班')
class_obj3 = Class('03届01班')
# 2、添加课程
class_obj1.add_course('数学')
class_obj2.add_course('语文')
class_obj3.add_course('历史')
# 3、查看班级开设的课程信息
class_obj1.tell_course()
class_obj2.tell_course()
class_obj3.tell_course()
- 如何进行类之间的关联
class School():
school_name = 'hgc'
# 独有的东西
def __init__(self, nickname, addr):
self.nickname = nickname
self.addr = addr
self.classes = [] # 改后变为claas_obj
# 关联班级
# def related_class(self, class_name): # 想一下关联到所有课程信息传入对象
def related_class(self, class_obj):
self.classes.append(class_obj)
# 打印班级信息
def tell_classes(self):
for class_obj in self.classes:
class_obj.tell_course()
class Class():
def __init__(self, name):
self.name = name
self.course = None
# 添加课程
def add_course(self, course_name):
self.course = course_name
# 查看都有什么课程
def tell_course(self):
print('班级名: %s, 课程名: %s' % (self.name, self.course))
# 一、学校
# 1、创建学校
school_obj1 = School('北京校区', '北京')
school_obj2 = School('上海校区', '上海')
# 二、班级
# 1、创建班级
class_obj1 = Class('03届01班')
class_obj2 = Class('04届01班')
# 在学校对象的时候直接传入课程对象
class_obj1.add_course('数学')
school_obj1.related_class(class_obj1)
school_obj1.tell_classes()
相关连接(笔记来自于视频课程的归类整理):
[1]: https://www.bilibili.com/video/BV1QE41147hU?p=17
[2]: https://www.zhihu.com/column/c_1189883314197168128
[3]: https://www.cnblogs.com/linhaifeng/articles/6384466.html