python super()函数的基本使用

 更新时间:2020年09月10日 11:01:10   作者:新码农  
这篇文章主要介绍了python super()函数的基本使用,帮助大家更好的理解和使用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 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如何删除print()中的空格

    Python如何删除print()中的空格

    这篇文章主要介绍了Python如何删除print()中的空格问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python实现修改Excel文件的元数据

    Python实现修改Excel文件的元数据

    这篇文章将通过使用Python、Openpyxl模块以及wxPython库,实现创建一个GUI界面来输入元数据,然后将这些元数据与Excel文件一起保存,感兴趣的可以了解一下
    2023-04-04
  • 显卡驱动CUDA 和 pytorch CUDA 之间的区别

    显卡驱动CUDA 和 pytorch CUDA 之间的区别

    本文主要介绍了显卡驱动CUDA 和 pytorch CUDA 之间的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python 的内置字符串方法小结

    Python 的内置字符串方法小结

    本文主要给大家介绍了下Python的一些内置字符串的方法,包括概览,字符串大小写转换,字符串格式输出,字符串搜索定位与替换,字符串的联合与分割,字符串条件判断,字符串编码
    2016-03-03
  • Python中的wordcloud库安装问题及解决方法

    Python中的wordcloud库安装问题及解决方法

    这篇文章主要介绍了Python中的wordcloud库安装问题及解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Pytorch 之修改Tensor部分值方式

    Pytorch 之修改Tensor部分值方式

    今天小编就为大家分享一篇Pytorch 之修改Tensor部分值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python操作xml文件详细介绍

    python操作xml文件详细介绍

    这篇文章主要介绍了python操作xml文件详细介绍,着重介绍了获取XML标签的属性和值的方法,需要的朋友可以参考下
    2014-06-06
  • python处理圆角图片、圆形图片的例子

    python处理圆角图片、圆形图片的例子

    最近因为工作需要,需要处理图片,一种是头像的方形图片处理成圆行的,一种是方形图片的4角变得椭圆点
    2014-04-04
  • Django项目uwsgi+Nginx保姆级部署教程实现

    Django项目uwsgi+Nginx保姆级部署教程实现

    这篇文章主要介绍了Django项目uwsgi+Nginx保姆级部署教程实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 浅谈PyTorch的可重复性问题(如何使实验结果可复现)

    浅谈PyTorch的可重复性问题(如何使实验结果可复现)

    今天小编就为大家分享一篇浅谈PyTorch的可重复性问题(如何使实验结果可复现),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论