Python基础类继承重写实现原理解析


Posted in Python onApril 03, 2020

1.继承

继承是面向对象三大特性之一

- 通过继承我们可以使用一个类获取到其他类中的属性和方法
- 在定义类时,可以在类名后的括号中指定当前类的父类(超类、基类、super)
- 子类(衍生类)可以直接继承父类中的所有的属性和方法

注意事项:

a.在创建类时,如果省略了父类,则默认父类为object, object是所有类的父类,所有类都继承自object。

b. isinstance()用来检查一个对象是否是一个类的实例

如果这个类是这个对象的父类,也会返回True

所有的对象都是object的实例

2.多重继承

在Python中是支持多重继承的,也就是我们可以为一个类同时指定多个父类

可以在类名的()后边添加多个类,来实现多重继承

多重继承,会使子类同时拥有多个父类,并且会获取到所有父类中的方法

如果多个父类中有同名的方法,则会现在第一个父类中寻找,然后找第二个,然后找第三个。。。前边父类的方法会覆盖后边父类的方法。

注意:

类名.__bases__ 这个属性可以用来获取当前类的所有父类

多重继承示例:

class A(object):
  def test(self):
    print('AAA')

class B(object):
  def test(self):
    print('B中的test()方法~~')

  def test2(self):
    print('BBB') 
class C(A,B):
  pass
c = C()
c.test()
# 执行结果:AAA

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python查找相似单词的方法
Mar 05 Python
Python字符串处理之count()方法的使用
May 18 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
pytorch中的embedding词向量的使用方法
Aug 18 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
Python创建SQL数据库流程逐步讲解
Sep 23 Python
Django实现列表页商品数据返回教程
Apr 03 #Python
Python第三方库的几种安装方式(小结)
Apr 03 #Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 #Python
pip install 使用国内镜像的方法示例
Apr 03 #Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 #Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 #Python
基于python图像处理API的使用示例
Apr 03 #Python
You might like
php中看实例学正则表达式
2006/12/25 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python生成随机数的方法
2014/01/14 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
python使用tensorflow深度学习识别验证码
2018/04/03 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Python爬取成语接龙类网站
2018/10/19 Python
python程序变成软件的实操方法
2019/06/24 Python
django 中QuerySet特性功能详解
2019/07/25 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
五种Python转义表示法
2020/11/27 Python
高三毕业典礼主持词
2014/03/27 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
2015年教师节活动总结
2015/03/20 职场文书
老乡会致辞
2015/07/28 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle