组合1

#组合 1
class Hand:
pass class Foot:
pass class Trunk:
pass class Head:
pass class Person:
def __init__(self, id_num, name):
self.id_num = id_num
self.name = name
self.hand = Hand()
self.foot = Foot()
self.trunk = Trunk()
self.head = Head() p1=Person('','join') print(p1.__dict__)

组合2

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('家里蹲', '郑州')
s2 = School('市里蹲', '开封') c1 = Course('python', 10, '10天', s1)
c2 = Course('python', 100, '100天', s2)
# print(c1.__dict__)
print(c1.school.name) # 家里蹲
print(c2.school.name) # 市里蹲
print(c1.school.addr) # 郑州
print(c2.school.addr) # 开封

组合例子之点课系统

# 点课系统
class School:
def __init__(self, name, addr):
self.name = name
self.addr = addr class Teacher: # 老师应该与课程进行关联
def __init__(self, name, gongzi,course):
self.name = name
self.gongzi = gongzi
self.course=course class Course:
def __init__(self, name, price, period, school, teacher): # 课程应该和学校 还有 老师进行关联
self.name = name
self.price = price
self.period = period
self.school = school
self.teacher = teacher s1 = School('家里蹲', '郑州')
s2 = School('市里蹲', '开封')
s3 = School('县里蹲', '兰考')
t1 = Teacher('憨憨', 10000, 'python')
t2 = Teacher('玫玫', 1000, '安卓')
t3 = Teacher('浩浩', 100, 'c')
msg = '''
1 家里蹲 郑州校区
2 市里蹲 开封校区
3 县里蹲 兰考校区
'''
msg1 = '''
4 憨憨 python
5 玫玫 安卓
3 浩浩 c
'''
while True:
print(msg)
menu = {
'': s1,
'': s2,
'': s3
}
print(msg1)
teacher_menu = {
'': t1,
'': t2,
'': t3,
}
choice = input('选择学校>>>')
school_obj = menu[choice] # 获取学校信息 name = input('选择课程>>>')
teacher_obj = teacher_menu[name] # 获取老师信息
gongzi = t1.gongzi
price = input('选择费用>>>')
period = input('选择周期>>>')
teacher = input('选择老师>>>') new_course = Course(name, price, period, school_obj, teacher_obj) # print(new_teacher.__dict__)
print('课程【%s】属于【%s】学校 老师为 %s' % (new_course.teacher.course, new_course.school.name, new_course.teacher.name))
#课程【python】属于【家里蹲】学校 老师为 憨憨

最新文章

  1. Spring mvc 文件上传到文件夹(转载+心得)
  2. Oracle Essbase入门系列(二)
  3. 服务器部署之 cap deploy:setup
  4. 【dubbo】dubbo-admin在jdk 1.8上部署出错问题
  5. Microsoft SqlServer2008技术内幕:T-Sql语言基础-读书笔记-单表查询SELECT语句元素
  6. Format类及其子类功能和使用方法具体解释
  7. UVa 11110 - Equidivisions
  8. 自适应滤波:维纳滤波器——GSC算法及语音增强
  9. 【Android Developers Training】 28. 将用户带领到另一个应用
  10. pdf文件之itextpdf操作实例
  11. css3 滚动条出现 页面不跳动
  12. (一)初识mybatis
  13. 来一轮带注释的demo,彻底搞懂javascript中的replace函数
  14. PHP安装文件的审计
  15. Java 非递归实现 二叉树的前中后遍历以及层级遍历
  16. web测试笔记
  17. ubuntu下安装php7
  18. Java中常用类(包装类扩展知识)
  19. 开发框架DevExtreme全新发布v18.2.6|附下载
  20. <Scala><For beginners>

热门文章

  1. 那些年做过的ctf之加密篇(加强版)
  2. Validation failed for one or more entities. See ‘EntityValidationErrors
  3. python web django 2nd level -- 待更新
  4. opencv:自定义滤波
  5. 浅析PHP页面局部刷新功能的实现小结(转)
  6. eclipse配置tomcat后修改server.xml文件(如编码等)无效问题
  7. LeetCode练题——35. Search Insert Position
  8. EasyUI中使用自定义的icon图标
  9. 【代码学习】PHP面向对象之封装与继承
  10. PyQt5剪切板操作