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和pyqt实现360的CLable控件
Feb 21 Python
Python处理中文标点符号大集合
May 14 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
代码详解django中数据库设置
Jan 28 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
pytorch自定义初始化权重的方法
Aug 17 Python
python线程信号量semaphore使用解析
Nov 30 Python
python统计文章中单词出现次数实例
Feb 27 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
Django如何创作一个简单的最小程序
May 12 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
一个简单计数器的源代码
2006/10/09 PHP
php checkbox 取值详细说明
2010/08/19 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
js轮播图代码分享
2016/07/14 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
利用python实现数据分析
2017/01/11 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
护理自我鉴定范文
2013/10/06 职场文书
儿科护士自我鉴定
2013/10/14 职场文书
高三英语教学反思
2014/01/13 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
三严三实对照检查材料
2014/08/25 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
公司规章制度范本
2015/08/03 职场文书
Python制作动态字符画的源码
2021/08/04 Python
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技