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简单生成8位随机密码的方法
May 24 Python
python matplotlib 在指定的两个点之间连线方法
May 25 Python
Python 类的特殊成员解析
Jun 20 Python
python 异或加密字符串的实例
Oct 14 Python
Python3解释器知识点总结
Feb 19 Python
Python 函数返回值的示例代码
Mar 11 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
Python中Subprocess的不同函数解析
Dec 10 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
七个非常实用的Python工具包总结
Jun 15 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
js传值 判断
2006/10/26 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python 全文检索引擎详解
2017/04/25 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python中extend和append的区别讲解
2019/01/24 Python
Series和DataFrame使用简单入门
2019/11/13 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
flask项目集成swagger的方法
2020/12/09 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
优秀教师主要事迹
2014/02/01 职场文书
怎样写离婚协议书
2014/09/10 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
高老头读书笔记
2015/06/30 职场文书
网络舆情信息简报
2015/07/21 职场文书
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏