python super()函数的基本使用


Posted in Python onSeptember 10, 2020

super主要来调用父类方法来显示调用父类,在子类中,一般会定义与父类相同的属性(数据属性,方法),从而来实现子类特有的行为。也就是说,子类会继承父类的所有的属性和方法,子类也可以覆盖父类同名的属性和方法。

class Parent(object):
  Value = "Hi, Parent value"
 
  def fun(self):
    print("This is from Parent")
 
 
# 定义子类,继承父类
class Child(Parent):
  Value = "Hi, Child value"
 
  def ffun(self):
    print("This is from Child")
 
 
c = Child()
c.fun()
c.ffun()
print(Child.Value)
 
# 输出结果
# This is from Parent
# This is from Child
# Hi, Child value

但是,有时候可能需要在子类中访问父类的一些属性,可以通过父类名直接访问父类的属性,当调用父类的方法是,需要将”self”显示的传递进去的方式。

class Parent(object):
  Value = "Hi, Parent value"
 
  def fun(self):
    print("This is from Parent")
 
 
class Child(Parent):
  Value = "Hi, Child value"
 
  def fun(self):
    print("This is from Child")
    # 调用父类Parent的fun函数方法
    Parent.fun(self)
 
 
c = Child()
c.fun()
 
# 输出结果
# This is from Child
# This is from Parent
# 实例化子类Child的fun函数时,首先会打印上条的语句,再次调用父类的fun函数方法

这种方式有一个不好的地方就是,需要经父类名硬编码到子类中,为了解决这个问题,可以使用Python中的super关键字。

class Parent(object):
  Value = "Hi, Parent value"
 
  def fun(self):
    print("This is from Parent")
 
 
class Child(Parent):
  Value = "Hi, Child value"
 
  def fun(self):
    print("This is from Child")
    # Parent.fun(self)
    # 相当于用super的方法与上一调用父类的语句置换
    super(Child, self).fun()
 
 
c = Child()
c.fun()
 
# 输出结果
# This is from Child
# This is from Parent
# 实例化子类Child的fun函数时,首先会打印上条的语句,再次调用父类的fun函数方法

以上就是python super()函数的基本使用的详细内容,更多关于python super()函数的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python读写json文件的简单实现
Apr 11 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 Python
python有几个版本
Jun 17 Python
python实现简单石头剪刀布游戏
Oct 24 Python
Python可视化神器pyecharts绘制水球图
Jul 07 Python
Python如何实现机器人聊天
Sep 10 #Python
Python 必须了解的5种高级特征
Sep 10 #Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 #Python
利用python 读写csv文件
Sep 10 #Python
如何用Python 加密文件
Sep 10 #Python
Python 高效编程技巧分享
Sep 10 #Python
python操作redis数据库的三种方法
Sep 10 #Python
You might like
简单的用PHP编写的导航条程序
2006/10/09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP 实用代码收集
2010/01/22 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
简单谈谈python中的多进程
2016/11/06 Python
python删除某个字符
2018/03/19 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
Python中内建模块collections如何使用
2020/05/27 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
车间班组长岗位职责
2013/11/13 职场文书
财务人员个人求职信范文
2013/12/04 职场文书
护士求职自荐信范文
2014/03/19 职场文书
青蓝工程实施方案
2014/03/27 职场文书
《分一分》教学反思
2014/04/13 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
小学运动会开幕词
2016/03/04 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
代码复现python目标检测yolo3详解预测
2022/05/06 Python