首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在父类本身中使用了'super()‘,为什么?

问在父类本身中使用了'super()‘,为什么?
EN

Stack Overflow用户
提问于 2019-05-07 16:00:36
回答 2查看 335关注 0票数 0

我是python编程的新手,对python中的oops概念感到困惑。我知道super()用于使用父类中定义的方法,但我不明白为什么父类本身使用super()关键字。

代码语言:javascript
复制
class BahdanauAttention(tf.keras.Model):
  def __init__(self, units):
    super(BahdanauAttention, self).__init__()
    self.W1 = tf.keras.layers.Dense(units)
    self.W2 = tf.keras.layers.Dense(units)
    self.V = tf.keras.layers.Dense(1)
EN

回答 2

Stack Overflow用户

发布于 2019-05-07 16:03:08

BahdanauAttention继承自tf.keras.Model,这意味着它的init中的super调用实际上调用了tf.keras.Model的init方法。

还有一件事:从Python3开始,您不需要向super调用传递任何参数:

代码语言:javascript
复制
super().__init__()
票数 2
EN

Stack Overflow用户

发布于 2019-05-07 16:07:21

我建议你阅读关于Python3中super()方法的文章,它很棘手,特别是多重继承(即使它不是这里的实例),How does Python's super() work with multiple inheritance?。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56018036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档