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常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python实现的彩票机选器实例
Jun 17 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
pycharm设置注释颜色的方法
May 23 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
用python实现k近邻算法的示例代码
Sep 06 Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 Python
python找出因数与质因数的方法
Jul 25 Python
如何利用Python识别图片中的文字
May 31 Python
如何用python写个模板引擎
Jan 14 Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
php eval函数用法总结
2012/10/31 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Python查看微信撤回消息代码
2018/06/07 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
清明节演讲稿
2014/05/27 职场文书
公司踏青活动方案
2014/08/16 职场文书
实习指导教师评语
2014/12/30 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
DE1103使用报告
2022/04/05 无线电
MySQL优化之慢日志查询
2022/06/10 MySQL