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复制文件代码实现
Dec 23 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
Python语法快速入门指南
Oct 12 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
浅谈Python中的私有变量
Feb 28 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
python列表推导式入门学习解析
Dec 02 Python
PyCharm下载和安装详细步骤
Dec 17 Python
python程序输出无内容的解决方式
Apr 09 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 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 && 逻辑与运算符使用说明
2010/03/04 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
json 实例详细说明教程
2009/10/31 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
Vue 组件注册全解析
2020/12/17 Vue.js
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
python列表操作之extend和append的区别实例分析
2015/07/28 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
np.dot()函数的用法详解
2020/01/17 Python
python实现简单坦克大战
2020/03/27 Python
python设置表格边框的具体方法
2020/07/17 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
监理资料员岗位职责
2014/01/03 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
Python必备技巧之函数的使用详解
2022/04/04 Python