Python基础21类-组合

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)
原文地址:https://www.cnblogs.com/josie930813/p/9883222.html