继承

# 继承
class Animal:atype="哺乳动物"def __init__(self,name,age,sex) -> None:self.name=nameself.age=ageself.sex=sexdef eat(self):print(f"{self.name} is eating...")class Person(Animal):atype="哺乳高等动物"def __init__(self, name, age, sex,hobbie) -> None:super().__init__(name, age, sex)self.hobbie=hobbiedef talk(self):print(f"[perspn] {self.name} is talking,his hobbie is {self.hobbie}")def eat(self): # 重写父类方法# Animal.eat(self) # 若想在父类方法的基础上扩充,需要把父类方法先写进来super().eat() # 本行代码和上一行代码实现的效果是一样的print("人在优雅的吃...") # 在全局调用子类时,会先执行父类方法,再执行子类方法。class Dog(Animal):def chase_rabit(self):print("狗在追兔子...")if __name__=="__main__":p=Person("Alex",22,"M","basketball")d=Dog("Bob",5,"M")p.eat()p.talk()d.eat()print(p.atype)print(d.atype)

多继承

# 多继承
class ShenxianBase:def fight(self):print("神仙始祖们在天界打架...")class Shenxian:"""神仙类"""def fly(self):print("神仙都会飞...")# def fight(self):#     print("神仙在打架...")class MonkeyBase:def fight(self):print("猿猴在打架...")class Monkey(MonkeyBase):"""猴子类"""def eat(self):print("猴子都喜欢吃桃子...")def fight(self):print("猴子在打架")# py2.3之前,经典类(class A:)使用深度优先,新式类(class A(object):)使用广度优先
# py3中,经典类和新式类使用的都是广度优先
class MonkeyKing(Shenxian,Monkey): # 同时继承神仙和猴子,当多个父类同时拥有一个名字的实例方法时,(顺序遵循广度优先(第一个子类->...第n个子类->第一个子类的父类->...第n个子类的父类))def play_golden_stick(self):print("孙悟空在玩金箍棒...")m=MonkeyKing()
m.fly()
m.eat()
m.play_golden_stick()
m.fight()

多继承继承顺序,C3算法

class A:def test(self):print("from A")class B(A):def test(self):print("from B")class C(A):def test(self):print("from C")class B2:def test(self):print("from B2")class C2:def test(self):print("from C2")class D(B,B2):def test(self):print("from D")class E(C,C2):def test(self):print("from E")class F(D,E):def test(self):print("from F")if __name__=="__main__":f=F()f.test()print(F.__mro__)

【python面向对象学习笔记】继承相关推荐

  1. 8.Python基础学习笔记day8-正则表达式、网络编程、进程与线程

    8.Python基础学习笔记day8-正则表达式.网络编程.进程与线程 一.正则表达式 ''' 1. [1,2,3,4]中任意取3个元素排列: A43 = 4x3x2 = 24itertools.pe ...

  2. Python基础学习笔记之(一)

    Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...

  3. python自动化测试学习笔记合集

    python自动化测试学习笔记-1 一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行 ...

  4. python自动化测试学习笔记合集二

    python自动化测试学习笔记-4内置函数,处理json 函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改 ...

  5. python模块学习笔记

    python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...

  6. Python tkinter 学习笔记(3) -- 界面布局1(grid和pack)

    Python tkinter 学习笔记(1)-- 第一个窗口之HelloWorld 教程 Python tkinter 学习笔记(2)-- 控件.组件(一) Tkinter 界面布局(grid\pac ...

  7. Python 3 学习笔记

    Python 3 学习笔记 基础语法 标识符 Python中的关键字 注释 缩进 多行语句 数字(Number)类型 字符串(String) 空行 同一行显示多条语句 多个语句构成代码组 print( ...

  8. Python Mosh 学习笔记(6小时完全入门)

    Python Mosh 学习笔记 这两个博主写得都挺好的. 六小时极速入门 Python笔记 code with Mosh 02:01:45 2D Lists 02:05:11 My Complete ...

  9. python做直方图-python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...

最新文章

  1. 案例:文件下载需求:1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载||中文文件问题
  2. wxWidgets:wxLogChain类用法
  3. ionic - error
  4. 聚美app之 _sign参数分析
  5. 原生Js 两种方法实现页面关键字高亮显示
  6. 分布式事务最终一致性mysql_分布式事务最终一致性方案案例
  7. java -jar 指定端口_「Linux命令」-Java程序员需要掌握的10个命令
  8. OSPFv3中LSA详解(三)——Network LSA变化
  9. selenium弹窗无法定位_4.3 通过selenium 模拟浏览器抓取
  10. 计算机怎么登录用户名和密码忘了怎么办,如果我忘记了计算机的用户名和密码,该怎么办...
  11. Linux 端蓝牙调试
  12. 迅雷android面试,迅雷面试题(转载)
  13. 深度技术 GHOST XP 电脑城克隆版 V7.0 (NTFS/F32)
  14. 国外服务器 虚拟主机,虚拟主机国内国外什么区别
  15. Hbase slides
  16. 【解题报告】2021牛客寒假算法基础集训营4
  17. 【GZH逸佳君】:科技感膨爆,观赏性极强:送你PS粒子飞溅特效插件,1秒瞬间爆开
  18. 小米2022校招前端实习一面总结
  19. 贪心算法 Greedy
  20. Java多线程系列—多线程带来的问题(05)

热门文章

  1. 【转】诺基亚和微软:一名曾经用户眼中的“下坡组合”
  2. 使用 Docker 搭建你的Wiki(TiddlyWiki)
  3. 解决Python3 中的 unicodeEncode 问题
  4. 视频教程-微信小程序开发教程(第一阶段、页面设计)(维吾尔语)-HTML5/CSS
  5. 情景模式引擎 API
  6. UE4中Ultra Dynamic Sky插件蓝图实现昼夜交替
  7. unity中向量单位化
  8. “我早说过了” 所以不是我的错?
  9. 【算法练习】MVP争夺战
  10. 2022年CMMI认证补贴的常见问题汇总