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

作者:goldensun 时间:2022-02-09 02:59:14 

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,类,继承
0
投稿

猜你喜欢

  • 关于Python 常用获取元素 Driver 总结

    2022-12-24 05:03:28
  • Python pyinotify模块实现对文档的实时监控功能方法

    2023-04-15 08:13:52
  • Python 设计模式行为型访问者模式

    2023-10-18 14:44:52
  • 使用python-cv2实现Harr+Adaboost人脸识别的示例

    2022-03-16 01:05:10
  • 用JavaScript实现PHP的urlencode与urldecode函数

    2023-11-23 08:18:14
  • 一行两列背景自适应的简单写法 DIV+CSS

    2008-07-15 12:51:00
  • css布局自适应高度方法

    2007-05-11 17:03:00
  • 从浅入深带你掌握Golang数据结构map

    2023-06-21 16:42:43
  • 学习SQL语句(强大的group by与select from模式)

    2011-11-03 16:46:09
  • Python装饰器的定义和使用详情

    2021-01-26 23:22:15
  • python计数排序和基数排序算法实例

    2023-11-01 01:23:26
  • ajax代理程序,自动判断字符编码

    2007-11-04 13:17:00
  • Python操作Excel把数据分给sheet

    2023-08-07 17:03:53
  • python traceback捕获并打印异常的方法

    2022-11-06 10:35:30
  • 自动清空站点目录下所有文件

    2009-06-24 11:11:00
  • js图片随机显示技巧

    2007-08-19 20:20:00
  • IE6局部调用PNG32合并图片

    2009-03-11 21:24:00
  • python求最大公约数和最小公倍数的简单方法

    2022-08-31 22:05:45
  • asp的分词技术

    2007-08-25 17:50:00
  • 提高JavaScript执行效率的23个实用技巧

    2023-08-15 18:38:12
  • asp之家 网络编程 m.aspxhome.com