title: Why do we use super() in a python class?
body: <p>I've come across an example like below,</p>
  
  <pre><code>class Model(tf.keras.Model):
      def __init__(self, vocab_size, embedding_dim, dim, batch_sz):
          super(Model, self).__init__()
          self.dim = dim
          self.embedding = Embedding(vocab_size, embedding_dim)
          self.lstm = LSTM(self.enc_units,
                           recurrent_initializer='glorot_uniform')
  </code></pre>
  
  <p>In this why do we use <code>super(Encoder, self).__init__()</code>?. I'm not very familiar with object oriented programming with python.</p>