Python 继承,重写,super()调用父类方法操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python 继承,重写,super()调用父类方法操作。分享给大家供大家参考,具体如下:

demo.py(继承,重写,super):

# 父类
class Dog:
  def bark(self):
    print("汪汪叫")
# 子类 继承
class XiaoTianQuan(Dog):
  def fly(self):
    print("我会飞")
  # 可以重写父类中的同名方法
  def bark(self):
    # super().父类方法名 调用父类中的方法 (第一种方式)(推荐)
    super().bark()
    # 父类名.方法(self) 调用父类中的方法 (第二种方式,python2.x)(不推荐,父类名修改后,此处也得改)
    Dog.bark(self)
    # 注意:如果使用子类名调用方法,可能会出现递归调用 -- 死循环!
    # XiaoTianQuan.bark(self) # 会产生死循环
    # 针对子类特有的需求,进行扩展
    print("神一样的叫唤...")
xtq = XiaoTianQuan()
xtq.bark()

运行结果:

汪汪叫
汪汪叫
神一样的叫唤...

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

约瑟夫问题的Python和C++求解方法

么是约瑟夫问题? 约瑟夫问题是一个有趣的数学游戏,游戏规则如下: 1、N个人围成一个圈,编号从1开始,依次到N。 2、编号为M的游戏参与者开始报数,报数从1开始,后面的人报数接龙,直到K...

使用Python的内建模块collections的教程

collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: &g...

pycharm+django创建一个搜索网页实例代码

pycharm+django创建一个搜索网页实例代码

本文主要研究的是pycharm+django创建一个搜索网页的实例代码,具体步骤和代码示例如下。 创建工程 比如,我创建的工程目录结构如下: 命令行 进入windows命令行,进入根...

在Python中marshal对象序列化的相关知识

有时候,要把内存中的一个对象持久化保存到磁盘上,或者序列化成二进制流通过网络发送到远程主机上。Python中有很多模块提供了序列化与反序列化的功能,如:marshal, pickle,...

Python Django框架实现应用添加logging日志操作示例

本文实例讲述了Python Django框架实现应用添加logging日志。分享给大家供大家参考,具体如下: Django uses Python's builtin logging m...