1 继承:
 2 #python2 经典类是按深度优先来继承的,新式类是按广度优先来继承的
 3 #python3 经典类和新式类都是按广度优先来继承的
 4
 5
 6
 7 #经典类:class People:
 8 class People(object):  #这个是新式类,多继承的时候有了改变
 9
10     def __init__(self, name, age):
11         self.name =name
12         self.age = age
13
14
15     def eat(self):
16         print("%s is eating" % self.name)
17
18
19     def talk(self):
20         print("%s is talking" % self.name)
21
22     def sleep(self):
23         print("%s is sleeping" % self.name)
24
25 #多继承的示范
26 class Relation(object):
27     def make_friends(self, obj):
28         print("%s is making friends with %s" % (self.name, obj.name))
29         self.friends.append(obj)  #要用obj,这样才和另一个实例产生联系
30
31 #子类继承
32 class Man(People, Relation):  #小括号中 一定要有父类名称,如People
33
34     def __init__(self, name, age, sex="man"):
35 #        People().__init__(self,name, age) 第一种的初始化方法
36         super().__init__(name, age)  # superclass,super函数直接继承所有,super(Man, self)的省略
37         self.sex = sex
38         self.friends = []
39
40     def working_hard(self):
41         print("earning money.")
42
43     def sleep(self):   #重构了父类的方法
44         People.sleep(self)
45         print("Man %s is sleeping" % self.name)
46
47
48 class Woman(People, Relation):
49
50     def __init__(self,name, age, sex = "woman"):
51         super().__init__(name, age)
52         self.sex = sex
53         self.friends = []
54
55     def get_birth(self):
56         print("%s is giving birth to a baby." % self.name)
57
58
59 p1 = People("Adam", 26)
60 p1.eat()
61 print("%s is %s years old." % (p1.name, p1.age))
62 p1.sleep()
63
64 m1 = Man("Alex", 28)
65 m1.eat()
66 m1.working_hard()
67 m1.sleep()
68 m1.make_friends(p1)
69 print(m1.friends[0].name)
70
71 w1 = Woman("Shell", 27)
72 w1.get_birth()
73 w1.sleep()

转载于:https://www.cnblogs.com/Ian-learning/p/8325432.html

Python学习-类的继承相关推荐

  1. Python Class 类的继承与多继承

    Python Class 类的继承与多继承 1.继承概念 2.继承中的访问控制 3.示例 3.1 示例 1 3.2 示例 2 3.3 示例 3 3.4 示例 4 3.5 示例 5 3.6 示例 6 3 ...

  2. python学习之类class继承、super()使用和__init__初始化

    类的学习.__init__学习和super方法学习 1.python中类的属性.方法学习 2. 类的实例方法.类方法.静态方法 3.类class的访问控制:单划线_与双划线__ 4.继承中的__ini ...

  3. Python学习——类与对象

    一.编程的两大思想 (1)面向过程 事物比较简单,用简单的线性思维即可解决 (2)面向对象 事物比较复杂,用简单的线性思维无法解决 (3)两者之间的关系 在面对复杂的问题时,宏观上是使用面向对象,但具 ...

  4. python类定义中__init__()_转:python学习——类中为什么要定义__init__()方法

    学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧. 1.不用init()方法定义类 定义一个矩形的类,目的是求周长和面积. 1 classRectangl ...

  5. 【python】-- 类的继承(新式类/经典类)、多态

    继承 之前我们说到了类的公有属性和类的私有属性,其实就是类的封装,现在准备随笔的 是继承,是面向对象的第二大特性. 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是 ...

  6. python学习--类、模块、包

    目录 面向对象编程思想 类的特点 类的定义 类的变量 类的方法 类中的方法 类方法 静态方法 实例方法 类的继承 子类的定义 覆写父类的方法 私有化 下划线相关变量命名 模块 包 面向对象编程思想 类 ...

  7. day24 python学习 类 画元,命名空间作用域,组合,人狗大战升级

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  8. python自定义异常类一般继承于_自定义异常类一般继承自_______或其子类。

    [填空题]Python语句print('%d%%%d'%(3/2, 3%2))的运行结果是( 1 ). [填空题]自定义异常类一般继承自_______或其子类. [填空题]Python语句" ...

  9. python:类的继承及初始化

    一.类的继承 类的继承格式为:class 新类(旧类),新类就可以继承旧类的所有类方法,并可以定制新的方法甚至覆盖旧类的方法. 二.类的初始化 初始化函数的意思是,当你创建一个实例的时候,这个函数就会 ...

最新文章

  1. Visual Studio调试时遇到的问题:生成下面模块时,启用了优化或没有调试信息
  2. 23种设计模式中的蝇量(享元)模式
  3. ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
  4. python列表类型用什么表示_python内置类型:列表,包括 list 和 tuple
  5. 黄仁勋登上《时代周刊》2021年度全球具影响力人物
  6. java结构体构建学生 学号_易错题: 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。...
  7. 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
  8. [css] 不使用border画出1px高的线,在不同浏览器的标准和怪异模式下都能保持效果一样
  9. 告诉你我身边很多的聪明人,怎样利用科技产品挣钱
  10. 同事推荐的一部老电影 《魔鬼代言人》
  11. 抢注小程序“诱饵”多 轻信者被“套路”
  12. 如何用代码实现发送qq邮件(详细代码)
  13. 再见了, 达叔!我用Python回顾一代喜剧大师203部作品,太经典了!
  14. 错误记录-java idea执行k8s https api报错 should not be presented in certificate_request
  15. 5. 机器学习基石-Why can Machine Learn?
  16. Win10 任务栏使用小图标
  17. Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题
  18. 常见光学材料透过波段表
  19. 搭建Android开发环境Win7-64位
  20. 短视频程序源码,实现ios系统的短视频缓存

热门文章

  1. 生命游戏c语言代码,c++生命游戏源码
  2. SQLi LABS Less-11 联合注入+报错注入
  3. SQLi LABS Less 15 布尔盲注
  4. Python对命令提示符cmd以及操作系统的一些操作
  5. php执行出现500,为什么我的PHP总是出现500错误?
  6. laydate 和 Vue 奇怪的清空问题
  7. fedora 14 64位安装 flash player
  8. 使用CAJViewer 提取PDF文件中的文字
  9. 关于修改CentOS7(64位)环境变量
  10. Sunday算法模板