Python学习-类的继承
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学习-类的继承相关推荐
- 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 ...
- python学习之类class继承、super()使用和__init__初始化
类的学习.__init__学习和super方法学习 1.python中类的属性.方法学习 2. 类的实例方法.类方法.静态方法 3.类class的访问控制:单划线_与双划线__ 4.继承中的__ini ...
- Python学习——类与对象
一.编程的两大思想 (1)面向过程 事物比较简单,用简单的线性思维即可解决 (2)面向对象 事物比较复杂,用简单的线性思维无法解决 (3)两者之间的关系 在面对复杂的问题时,宏观上是使用面向对象,但具 ...
- python类定义中__init__()_转:python学习——类中为什么要定义__init__()方法
学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧. 1.不用init()方法定义类 定义一个矩形的类,目的是求周长和面积. 1 classRectangl ...
- 【python】-- 类的继承(新式类/经典类)、多态
继承 之前我们说到了类的公有属性和类的私有属性,其实就是类的封装,现在准备随笔的 是继承,是面向对象的第二大特性. 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是 ...
- python学习--类、模块、包
目录 面向对象编程思想 类的特点 类的定义 类的变量 类的方法 类中的方法 类方法 静态方法 实例方法 类的继承 子类的定义 覆写父类的方法 私有化 下划线相关变量命名 模块 包 面向对象编程思想 类 ...
- day24 python学习 类 画元,命名空间作用域,组合,人狗大战升级
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...
- python自定义异常类一般继承于_自定义异常类一般继承自_______或其子类。
[填空题]Python语句print('%d%%%d'%(3/2, 3%2))的运行结果是( 1 ). [填空题]自定义异常类一般继承自_______或其子类. [填空题]Python语句" ...
- python:类的继承及初始化
一.类的继承 类的继承格式为:class 新类(旧类),新类就可以继承旧类的所有类方法,并可以定制新的方法甚至覆盖旧类的方法. 二.类的初始化 初始化函数的意思是,当你创建一个实例的时候,这个函数就会 ...
最新文章
- Visual Studio调试时遇到的问题:生成下面模块时,启用了优化或没有调试信息
- 23种设计模式中的蝇量(享元)模式
- ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
- python列表类型用什么表示_python内置类型:列表,包括 list 和 tuple
- 黄仁勋登上《时代周刊》2021年度全球具影响力人物
- java结构体构建学生 学号_易错题: 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。...
- 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
- [css] 不使用border画出1px高的线,在不同浏览器的标准和怪异模式下都能保持效果一样
- 告诉你我身边很多的聪明人,怎样利用科技产品挣钱
- 同事推荐的一部老电影 《魔鬼代言人》
- 抢注小程序“诱饵”多 轻信者被“套路”
- 如何用代码实现发送qq邮件(详细代码)
- 再见了, 达叔!我用Python回顾一代喜剧大师203部作品,太经典了!
- 错误记录-java idea执行k8s https api报错 should not be presented in certificate_request
- 5. 机器学习基石-Why can Machine Learn?
- Win10 任务栏使用小图标
- Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题
- 常见光学材料透过波段表
- 搭建Android开发环境Win7-64位
- 短视频程序源码,实现ios系统的短视频缓存