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 16 Python
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
使用Python从零开始撸一个区块链
Mar 14 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
python实现石头剪刀布程序
Jan 20 Python
python在回调函数中获取返回值的方法
Feb 22 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
原来我一直安装 Python 库的姿势都不对呀
Nov 11 Python
python的range和linspace使用详解
Nov 27 Python
Django 再谈一谈json序列化
Mar 16 Python
浅析python 动态库m.so.1.0错误问题
May 09 Python
golang中的空接口使用详解
Mar 30 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的autoLoad自动加载机制
2012/09/27 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
vue中轮训器的使用
2019/01/27 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
pytorch之添加BN的实现
2020/01/06 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
启动一个线程是用run()还是start()
2016/12/25 面试题
总监职责范文
2013/11/09 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
电气自动化求职信
2014/06/24 职场文书
公司年底活动方案
2014/08/17 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
2014年司法局工作总结
2014/12/11 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
2016年情人节广告语
2016/01/28 职场文书