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程序与服务器连接的WSGI接口
Apr 29 Python
微信跳一跳自动运行python脚本
Jan 08 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
python如何保证输入键入数字的方法
Aug 23 Python
python属于解释语言吗
Jun 11 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
如何在mac版pycharm选择python版本
Jul 21 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
python APScheduler执行定时任务介绍
Apr 19 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操作Memcache实例介绍
2013/06/14 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
利用python发送和接收邮件
2016/09/27 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
Django stark组件使用及原理详解
2019/08/22 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python语言异常处理测试过程解析
2020/01/08 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
测量实习生自我鉴定
2013/09/19 职场文书
工作会议方案
2014/05/21 职场文书
《灰雀》教学反思
2016/02/19 职场文书