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 enumerate遍历数组示例应用
Sep 06 Python
python处理json数据中的中文
Mar 06 Python
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
spyder常用快捷键(分享)
Jul 19 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python基于plotly模块实现的画图操作示例
Jan 23 Python
python循环定时中断执行某一段程序的实例
Jun 29 Python
python的常见矩阵运算(小结)
Aug 07 Python
django框架forms组件用法实例详解
Dec 10 Python
Python Pygame实现俄罗斯方块
Feb 19 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实现的获取URL信息的类
2007/01/02 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
详解php中的implements 使用
2017/06/13 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
python实现简单图书管理系统
2019/11/22 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
电脑教师的教学自我评价
2013/11/26 职场文书
就业意向书范文
2014/04/01 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
会计系毕业求职信
2014/08/07 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
先进员工事迹材料
2014/12/20 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python
聊一聊python常用的编程模块
2021/05/14 Python
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
python playwrigh框架入门安装使用
2022/07/23 Python