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抓取网页内容示例分享
Feb 24 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
python自动化测试之如何解析excel文件
Jun 27 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
python新式类和经典类的区别实例分析
Mar 23 Python
python同时遍历两个list用法说明
May 02 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
python解压zip包中文乱码解决方法
Nov 27 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 输出缓存详解
2009/06/20 PHP
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
jcrop基本参数一览
2013/07/16 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
js如何验证密码强度
2020/03/18 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
Python中删除文件的程序代码
2011/03/13 Python
Python实现发送email的几种常用方法
2014/08/18 Python
Python算法之栈(stack)的实现
2014/08/18 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
公司中层干部的自我评价分享
2014/03/01 职场文书
基层党支部承诺书
2015/04/30 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
讲解MySQL增删改操作
2022/05/06 MySQL