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调用cmd命令行制作刷博器
Jan 13 Python
Python中的模块和包概念介绍
Apr 13 Python
浅析Python多线程下的变量问题
Apr 28 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
Numpy的简单用法小结
Aug 28 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
django中的图片验证码功能
Sep 18 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
python中shell执行知识点
May 06 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
python 解决Windows平台上路径有空格的问题
Nov 10 Python
python 制作磁力搜索工具
Mar 04 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的日期与时间函数技巧
2008/04/24 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php生成随机数的三种方法
2014/09/10 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python中返回矩阵的行列方法
2018/04/04 Python
Python装饰器用法实例总结
2018/05/26 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
python3 pygame实现接小球游戏
2019/05/14 Python
python用match()函数爬数据方法详解
2019/07/23 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
商业活动邀请函
2014/02/04 职场文书
计算机网络专业求职信
2014/06/05 职场文书
单位委托书怎么写
2014/09/21 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
教师师德师风整改措施
2014/10/24 职场文书
安全生产工作汇报
2014/10/28 职场文书
2014年政教处工作总结
2014/12/20 职场文书
向女朋友道歉的话
2015/01/20 职场文书
区域经理岗位职责
2015/02/02 职场文书
2014年底个人工作总结
2015/03/10 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python