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在指定目录下查找gif文件的方法
May 04 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
Python+selenium 获取一组元素属性值的实例
Jun 22 Python
3分钟学会一个Python小技巧
Nov 23 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
Python import模块的缓存问题解决方案
Jun 02 Python
python解析照片拍摄时间进行图片整理
Jul 23 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递归调用的小技巧讲解
2013/02/19 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python collections模块使用方法详解
2019/08/28 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
学校安全管理制度
2015/08/06 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
Vue+Flask实现图片传输功能
2022/04/01 Vue.js