我不熟悉python编程,对python中的oops概念感到困惑。我知道super()
用于使用父类中定义的方法,但我不明白为什么父类本身使用super()
关键字。你知道吗
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)
我建议您阅读关于python3中
super()
方法的文章,这很棘手,特别是对于多重继承(即使它不是case ehere),How does Python's super() work with multiple inheritance?BahdanauAttention
继承自tf.keras.Model
,这意味着它的init
中的super
调用实际上调用了tf.keras.Model
的init
方法。你知道吗还有一件事: 由于是Python 3,因此不需要向
super
调用传递任何参数:相关问题 更多 >
编程相关推荐