Python中的super()方法使用简介

 更新时间:2015年08月14日 12:14:34   作者:weakish  
这篇文章主要介绍了Python中的super()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下

子类里访问父类的同名属性,而又不想直接引用父类的名字,因为说不定什么时候会去修改它,所以数据还是只保留一份的好。其实呢,还有更好的理由不去直接引用父类的名字,
这时候就该super()登场啦——

class A:
 def m(self):
  print('A')

class B(A):
 def m(self):
  print('B')
  super().m()

B().m()

当然 Python 2 里super() 是一定要参数的,所以得这么写:

class B(A):
 def m(self):
  print('B')
  super(B, self).m()

    super在单继承中使用的例子:

class Foo():
  def __init__(self, frob, frotz)
    self.frobnicate = frob
    self.frotz = frotz

class Bar(Foo):
  def __init__(self, frob, frizzle)
    super().__init__(frob, 34)
    self.frazzle = frizzle

此例子适合python 3.x,如果要在python2.x下使用则需要稍作调整,如下代码示例:

class Foo(object): 
  def __init__(self, frob, frotz): 
    self.frobnicate = frob 
    self.frotz = frotz 

class Bar(Foo): 
  def __init__(self, frob, frizzle): 
    super(Bar,self).__init__(frob,34) 
    self.frazzle = frizzle 

new = Bar("hello","world") 
print new.frobnicate 
print new.frazzle 
print new.frotz 

需要提到自己的名字。这个名字也是动态查找的,在这种情况下替换第三方库中的类会出问题。

`super()`` 很好地解决了访问父类中的方法的问题。

相关文章

  • Python中工作日类库Busines Holiday的介绍与使用

    Python中工作日类库Busines Holiday的介绍与使用

    Python语言是通过区分类库的方式来划分功能。用户根据自身的需要加载合适的类库,来完成需要的功能。下面这篇文章主要给大家介绍了关于Python中工作日类库Busines Holiday使用的相关资料,需要的朋友可以参考借鉴。
    2017-07-07
  • python with (as)语句实例详解

    python with (as)语句实例详解

    这篇文章主要介绍了python with (as)语句实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python定义二叉树及4种遍历方法实例详解

    Python定义二叉树及4种遍历方法实例详解

    这篇文章主要介绍了Python定义二叉树及4种遍历方法,结合实例形式较为详细的分析了二叉树的概念、原理,以及Python定义与遍历二叉树相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Python3爬虫学习之爬虫利器Beautiful Soup用法分析

    Python3爬虫学习之爬虫利器Beautiful Soup用法分析

    这篇文章主要介绍了Python3爬虫学习之爬虫利器Beautiful Soup用法,结合实例形式分析了Beautiful Soup的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-12-12
  • 使用python的pandas为你的股票绘制趋势图

    使用python的pandas为你的股票绘制趋势图

    这篇文章主要介绍了通过python为你的股票绘制趋势图,动手写个小程序, 把股票趋势每天早上发到邮箱里,用 python 的 pandas, matplotlib 写起来很容易, 几十行代码搞定。,需要的朋友可以参考下
    2019-06-06
  • python __add__()的具体使用

    python __add__()的具体使用

    本文主要介绍了python __add__()的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python小程序基于Jupyter实现天气查询的方法

    python小程序基于Jupyter实现天气查询的方法

    这篇文章主要介绍了python小程序基于Jupyter实现天气查询的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 利用Python编写个有趣的记仇本

    利用Python编写个有趣的记仇本

    这篇文章主要为大家介绍了一个有趣的小案例——利用Python编写个有趣的记仇本,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2023-04-04
  • python获取栅格点和面值的实现

    python获取栅格点和面值的实现

    这篇文章主要介绍了python获取栅格点和面值的实现,具有很好的参考价值,希望对大家有多帮助。一起跟随小编过来看看吧
    2020-03-03
  • pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解

    pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解

    今天小编就为大家分享一篇pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论