1.在外面实例化被组合类
#选课系统(在外面实例化被组合类) class School: def __init__(self,name,addr): self.name = name self.addr = addr class Course: def __init__(self,name,price,period,school): self.name = name self.price = price self.period = period self.school = school s1 = School('oldboy','北京') s2 = School('oldboy','南京') s3 = School('oldboy','东京') c1 = Course('linux',10,'1h',s1) meg = ''' 1 : 北京 2 : 南京 3 : 东京 ''' while True: print(meg) menu = { '1':s1, '2':s2, '3':s3 } choice = input('选择学校>>:') school_obj = menu[choice] choice2 = input('课程>>:') new_course = Course('linux','10','1h',school_obj) print(new_course.school.name)
2.在类里面实例化被组合的类
class School: def __init__(self,name,addr): self.name = name self.addr = addr class Course: def __init__(self,name,price,period,school_name,addr): self.name = name self.price = price self.period = period self.school = School(school_name,addr) c1 = Course('linux',10,'1h','oldboy','北京') print(c1.school.name)