举例讲解Python面向对象编程中类的继承

 更新时间:2016年06月17日 17:40:11   投稿:goldensun  
类是面向对象语言中的标配,同样类的继承也是体现面向对象的重要特性,这里我们就来举例讲解Python面向对象编程中类的继承,需要的朋友可以参考下

python创建一个类很简单只需要定义它就可以了.

class Cat:
  pass

就像这样就可以了,通过创建子类我们可以继承他的父类(超类)的方法。这里重新写一下cat

class Cat:
  name = 'cat'


class A(Cat):
  pass

print A.name  # cat

经典类

我们也可以这样,让A多继承。

class Cat:
  name = 'cat'


class Dog:
  name = 'dog'


class A(Cat, Dog):
  pass

print A.name  # cat

如果Cat类没有name属性呢?

class Cat:
  pass

  ...
print A.name  # dog

A就会在其他的父类中找name这个属性。如果继承的两个父类都是继承自Animal类而Animal类也有name属性呢?

class Animal:
  name = 'animal'


class Cat(Animal):
  pass


class Dog(Animal):
  name = 'dog'


class A(Cat, Dog):
  pass

print A.name  # animal

这样A就不会在Dog类中找而是会在Animal上找到name, 这种类叫经典类。类的解析顺序是一种从左到右深度优先的搜索。也就是A–> Cat–> Animal –> Dog。

新式类

python还有一种创建类的方式,就是使用新式类(建议使用), 都继承自object这个基类, 新式类的搜索规则是从左到右逐级查询。也就是A–> Cat –> Dog –> Animal。

class Cat(object):
  pass

相关文章

  • Python实现以主程序的形式执行模块

    Python实现以主程序的形式执行模块

    这篇文章主要介绍了Python实现以主程序的形式执行模块,首先创建一个以christmastree的命名的模块并定义一个全局变量创建一个名称为fun_christmastree()的函数展开详情,感兴趣的朋友可以参考一下
    2022-06-06
  • Python实现计算圆周率π的值到任意位的方法示例

    Python实现计算圆周率π的值到任意位的方法示例

    这篇文章主要介绍了Python实现计算圆周率π的值到任意位的方法,简单分析了圆周率的计算原理,并结合实例形式分析了Python计算圆周率的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 详解Pandas的三大利器(map,apply,applymap)

    详解Pandas的三大利器(map,apply,applymap)

    这篇文章主要为大家介绍了pandas中的三大利器: map、apply、applymap,他们经常在进行数据处理的时候用到,需要的可以参考一下
    2022-02-02
  • Python+OpenCV实现相机标定的方法详解

    Python+OpenCV实现相机标定的方法详解

    opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,可以标定相机的内外参数,本文为大家介绍OpenCV进行相机标定的具体方法,希望对大家有所帮助
    2023-05-05
  • python随机生成指定长度密码的方法

    python随机生成指定长度密码的方法

    这篇文章主要介绍了python随机生成指定长度密码的方法,涉及Python操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)

    PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)

    这篇文章主要介绍了PyCharm2020.1.2社区版安装,配置及使用教程(Windows),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Python实现读取Excel表数据并转为JSON格式文件

    Python实现读取Excel表数据并转为JSON格式文件

    这篇文章主要为大家详细介绍了Python如何使用pandas库读取Excel表并将其转为JSON格式文件,文中的示例代码讲解详细,感兴趣的小伙伴可以参考下
    2025-04-04
  • python自动化调用百度api解决验证码

    python自动化调用百度api解决验证码

    这篇文章主要介绍了python自动化调用百度api解决验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python实现括号匹配的思路详解

    python实现括号匹配的思路详解

    这篇文章主要介绍了python实现括号匹配及匹配格式的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Python自动化测试工具Splinter简介和使用实例

    Python自动化测试工具Splinter简介和使用实例

    这篇文章主要介绍了Python自动化测试工具Splinter简介和使用实例,Splinter可以非常棒的模拟浏览器的行为,Splinter提供了丰富的API,可以获取页面的信息判断当前的行为所产生的结果
    2014-05-05

最新评论