可以将那些重复的,固定的东西提出来,单独定义一个类。

例如:

  1. class Course:
  2. def __init__(self,course_name,course_period,course_price):
  3. self.course_name=course_name
  4. self.course_period=course_period
  5. self.course_price=course_price
  6. def tell_info(self):
  7. print('<课程名:%s 周期:%s 价格:%s>' %(self.course_name,self.course_period,self.course_price))
  8.  
  9. python=Course('Python','6mons',3000)
  10. linux=Course('Lnux','3mons',2000)
  11. bigdata=Course('BigData','1mons',1000)

例如这种:

  1. class OldboyPeople:
  2. school = 'oldboy'
  3. def __init__(self,name,age,sex):
  4. self.name=name
  5. self.age=age
  6. self.sex=sex
  7.  
  8. def eat(self):
  9. print('is eating')
  10.  
  11. class OldboyStudent(OldboyPeople):
  12.  
  13. def __init__(self,name,age,sex):
  14. OldboyPeople.__init__(self,name,age,sex)
  15. self.course=[]
  16.  
  17. def learn(self):
  18. print('%s is learning' %self.name)
  19.  
  20. class OldboyTeacher(OldboyPeople):
  21. def __init__(self,name,age,sex,salary,title):
  22. OldboyPeople.__init__(self,name,age,sex)
  23. self.salary=salary
  24. self.title=title
  25. self.course=[]
  26.  
  27. def teach(self):
  28. print('%s is teaching' %self.name)
  29.  
  30. class Course:
  31. def __init__(self,course_name,course_period,course_price):
  32. self.course_name=course_name
  33. self.course_period=course_period
  34. self.course_price=course_price
  35. def tell_info(self):
  36. print('<课程名:%s 周期:%s 价格:%s>' %(self.course_name,self.course_period,self.course_price))
  37.  
  38. python=Course('Python','6mons',3000)
  39. linux=Course('Lnux','3mons',2000)
  40. bigdata=Course('BigData','1mons',1000)
  41.  
  42. # python.tell_info()
  43.  
  44. egon_obj=OldboyTeacher('egon',18,'male',3.1,'沙河霸道金牌讲师')
  45. #
  46. # egon_obj.course.append(python)
  47. # egon_obj.course.append(linux)
  48. #
  49. # for obj in egon_obj.course:
  50. # obj.tell_info()
  51.  
  52. yl_obj=OldboyStudent('yanglei',28,'female')
  53. yl_obj.course.append(python)
  54.  
  55. for i in yl_obj.course:
  56. # print(i.course_name,i.course_period,i.course_price)
  57. i.tell_info()

Day7组合的更多相关文章

  1. Python之路,Day7 - Python基础7 面向对象

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  2. 【JAVA零基础入门系列】Day7 Java输入与输出

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  3. 「雅礼集训 2017 Day7」事情的相似度

    「雅礼集训 2017 Day7」事情的相似度 题目链接 我们先将字符串建后缀自动机.然后对于两个前缀\([1,i]\),\([1,j]\),他们的最长公共后缀长度就是他们在\(fail\)树上对应节点 ...

  4. 10.23 正睿停课训练 Day7

    目录 2018.10.23 正睿停课训练 Day7 A 矩形(组合) B 翻转(思路) C 求和(思路 三元环计数) 考试代码 B1 B2 C 2018.10.23 正睿停课训练 Day7 期望得分: ...

  5. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  6. 团队冲刺DAY7

    团队冲刺DAY7 今天是2019.6.2,交项目的最后一天. 今天的任务是将之前写好的服务器和加解密算法以及图形界面有机结合在一起. 早上8:00,坐在电脑前,一脸懵,因为图形界面不是很懂,所以不知道 ...

  7. 复杂的 Hash 函数组合有意义吗?

    很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...

  8. JS继承之借用构造函数继承和组合继承

    根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...

  9. ComponentPattern (组合模式)

    import java.util.LinkedList; /** * 组合模式 * * @author TMAC-J 主要用于树状结构,用于部分和整体区别无区别的场景 想象一下,假设有一批连锁的理发店 ...

随机推荐

  1. Xcode中Groups和Folder的区别

    以前一直没有在意这个问题,今天"中奖"了 ;( 在Xcode文件夹视图中会发现2种颜色的文件夹图标:黄色和蓝色. 黄色表示组(groups),蓝色表示文件夹(folder). 组只 ...

  2. NSData 与 struct 以及XML的转换。

    在做OC与C++ 混编的时候,我们可能会用到struct 与NSData的相互转换.在这里做一个记录 1.struct转换为NSData 例如如下的struct: struct tagPackageH ...

  3. 【shell脚本练习】grep sed awk

    下面是简单学习之后做得练习题,如果有不对的或者说解题思路不好的,请交流啊. Grep 练习 文件名grepfile Steve Blenheim:238-923-7366:95 Latham Lane ...

  4. 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题

     问题描述: 使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创建一个Android项目时,又会再多出一个appcompat_ ...

  5. 视音频编解码学习工程:FLV封装格式分析器

    ===================================================== 视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习 ...

  6. jquery跳出当前的each循环的方式

    jquery跳出当前的each循环,使用如下方式: return false;--跳出所有循环:相当于 javascript 中的 break 效果. return true;--跳出当前循环,进入下 ...

  7. JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块

    JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名的情况 ...

  8. HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to

    /** * 使用sql语句进行查询操作 * @param sql * @return */ public List queryWithSql(final String sql){ List list ...

  9. 网站开发进阶(二十)JS中window.alert()与alert()的区别

    JS中window.alert()与alert()的区别 前言 alert与window.alert没什么区别,如果有人觉得有区别,那就来解释一下:所有以window.开始的语句,都可以直接把wind ...

  10. LeetCode之“链表”:Remove Duplicates from Sorted List && Remove Duplicates from Sorted List II

    1. Remove Duplicates from Sorted List 题目链接 题目要求: Given a sorted linked list, delete all duplicates s ...