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登录pop3邮件服务器接收邮件的方法
Apr 30 Python
详解Python中dict与set的使用
Aug 10 Python
python实现实时监控文件的方法
Aug 26 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
Python如何测试stdout输出
Aug 10 Python
python 如何对logging日志封装
Dec 02 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+JS实现大规模数据提交的方法
2015/07/02 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
js选项卡的制作方法
2017/01/23 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
优雅地使用loading(推荐)
2019/04/20 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
慈善晚会策划方案
2014/05/14 职场文书
公司老总年会致辞
2015/07/30 职场文书
python双向链表实例详解
2022/05/25 Python