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爬取网站数据保存使用的方法
Nov 20 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
Python IDLE入门简介
Dec 08 Python
python实现用户管理系统
Jan 10 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
Python进程池Pool应用实例分析
Nov 27 Python
python实现拼图小游戏
Feb 22 Python
python matplotlib实现将图例放在图外
Apr 17 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
Python爬虫基础之爬虫的分类知识总结
May 13 Python
如何用python清洗文件中的数据
Jun 18 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
php eval函数用法总结
2012/10/31 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
php构造函数与析构函数
2016/04/23 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
python协程用法实例分析
2015/06/04 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python图书管理系统
2020/04/05 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
Python 函数返回值的示例代码
2019/03/11 Python
python集合是否可变总结
2019/06/20 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
大学生军训感想
2014/02/16 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
报关报检委托书
2014/04/08 职场文书
学历公证书范本
2014/04/09 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL