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的Bottle框架中使用微信API的示例
Apr 23 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python中格式化format()方法详解
Apr 01 Python
Python微信公众号开发平台
Jan 25 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
python实现取余操作的简单实例
Aug 16 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 Python
Python编程编写完善的命令行工具
Sep 15 Python
Python实现视频中添加音频工具详解
Dec 06 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教程 基本语法
2009/10/23 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
jQuery - css() 方法示例详解
2014/01/16 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
JS中的phototype详解
2017/02/04 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
iview实现图片上传功能
2020/06/29 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
Python快速从注释生成文档的方法
2016/12/26 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
乡镇八一建军节活动方案
2014/08/24 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
三好学生个人总结
2015/02/15 职场文书
教师节联欢会主持词
2015/07/04 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
八年级数学教学反思
2016/02/17 职场文书
vue实现移动端div拖动效果
2022/03/03 Vue.js