title: Need help an error "TypeError: __init__() takes 5 positional arguments but 6 were given"
body: <p>I am just started getting into classes and understand the basic concept however I don't understand why it gives me this error.</p>
  
  <p>My code:</p>
  
  <pre><code>import pygame
  
  pygame.init()
  screen = pygame.display.set_mode((400, 300))
  done = False
  
  while not done:
  
          for event in pygame.event.get():
  
                  if event.type == pygame.QUIT:
                          done = True
  
          class shape():
              def __init__(self, place, colour, x, y):
                  self.place = place
                  self.colour = colour
                  self.x = x
                  self.y = y
  
          class rectangle(shape):
              def __init__(self, place, colour, x, y, length, width):
                  super().__init__(self, place, colour, x, y)
  
                  self.length = length
                  self.width = width
  
                  pygame.draw.rect(screen, colour, pygame.Rect(x, y, lenght, width))
  
  
  
  
  
          Rectangle = rectangle(screen, (0, 128, 255), 30, 30, 60, 60)
  
          pygame.display.flip()
  
  </code></pre>
  
  <p>The error I receive:</p>
  
  <pre><code>
  Traceback (most recent call last):
    File "Pygame.py", line 34, in &lt;module&gt;
      Rectangle = rectangle(screen, (0, 128, 255), 30, 30, 60, 60)
    File "Pygame.py", line 23, in __init__
      super().__init__(self, place, colour, x, y)
  TypeError: __init__() takes 5 positional arguments but 6 were given
  
  </code></pre>
  
  <p>I am not sure why it gives an error as I am creating a "rectangle" object. I found some examples and they seemed to be the same as mine. </p>