title: python default argument syntax error
body: <p>I just wrote a small text class in python for a game written using pygame and for some reason my default arguments aren't working. I tried looking at the python documentation to see if that might give me an idea what I did wrong, but I didn't fully get the language in the documentation. No one else seems to be having this issue.</p>
  
  <p>Here's the code for the text class:</p>
  
  <pre><code>class Text:
      def __init__(self,screen,x_location='center',y_location='center',writeable,color,size=12):
          self.font = pygame.font.Font("Milleni Gem.ttf", size)
  
          self.text = self.font.render(writeable,True,color)
          self.textRect = self.text.get_rect()
  
          if x_location == "center":
              self.textRect.centerx = screen.get_rect().centerx
          else:
              self.textRect.x = x_location
  
          if y_location == "center":
              self.textRect.centery = screen.get_rect().centery
          else:
              self.textRect.y = y_location
          self.update()
  
      def update(self):
          screen.blit(self.text,self.textRect)
  </code></pre>
  
  <p>and here's the code to call it:</p>
  
  <pre><code>from gui import *
  Text(screen,75,75,currentweapon.clip)#currentweapon.clip is an integer
  </code></pre>
  
  <p>The error I get is this:</p>
  
  <pre><code>SyntaxError: non-default argument follows default argument
  </code></pre>
  
  <p>and points to the <code>def __init__()</code> line in the code. What does this error mean and what am I doing wrong here?</p>