组合

定义一个人的类,人有头,手,脚等数据属性,

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','南京')

c1=Course('linux',10,'1h',s1)
print(c1.__dict__)      #{'name': 'linux', 'price': 10, 'period': '1h', 'school': <__main__.School object at 0x02C5DE70>}
print(c1.school.name)   #oldboy

 

 

class School:
    def __init__(self,name,addr):
        self.name=name
        self.addr=addr


    def zhao_sheng(self):
        print('%s 正在招生' %self.name)

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','oldboy 北京')
# c1=Course('linux',10,'1h',s1)

msg='''
1 老男孩 北京校区
2 老男孩 南京校区
3 老男孩 东京校区
'''
while True:
    print(msg)
    menu={
        '1':s1,
        '2':s2,
        '3':s3
    }
    choice=input('选择学校>>: ')
    school_obj=menu[choice]
    name=input('课程名>>: ')
    price=input('课程费用>>: ')
    period=input('课程周期>>: ')
    new_course=Course(name,price,period,school_obj)
    print('课程【%s】属于【%s】学校' %(new_course.name,new_course.school.name))

运行结果:

1 老男孩 北京校区
2 老男孩 南京校区
3 老男孩 东京校区

选择学校>>: 1
课程名>>: 信号
课程费用>>: 10
课程周期>>: 1h
课程【信号】属于【oldboy】学校

1 老男孩 北京校区
2 老男孩 南京校区
3 老男孩 东京校区

选择学校>>: 

 

posted @ 2019-03-22 11:21  wind_y  阅读(131)  评论(0编辑  收藏  举报