title: Error when trying to overload an operator "/"
body: <p>I recently start teaching myself game programming. Someone recommend me to start with Python and I got the book "Beginning game development with Python and Pygame: From novice to professional". I got to a part where they teach about Vectors and creating a Vector2 class. Everything was going well until I tried to overload the division operator.
  My code goes like this:</p>
  
  <pre><code>class Vector2(object):
  
    def __init__(self, x=0.0, y=0.0):
      self.x = x
      self.y = y
  
    def __str__(self):
      return "(%s, %s)"%(self.x, self.y)
  
    @classmethod
    def from_points(cls, P1, P2):
      return cls(P2[0] - P1[0], P2[1] - P1[1])
  
    def __add__(self,rhs):
      return Vector2(self.x + rhs.x, self.y + rhs.y)
  
    def __sub__(self,rhs):
      return Vector2(self.x - rhs.x, self.y - rhs.y)
  
    def __mul__(self, scalar):
      return Vector2( self.x*scalar, self.y*scalar)
  
    def __div__(self, scalar):
      return Vector2( self.x/scalar, self.y/scalar)
  </code></pre>
  
  <p>Now, when I tried to call the "/" operator, this shows up:</p>
  
  <pre><code>AB = Vector2(10.0,25.0)
  print(AB)   # &lt;&lt;&lt;&lt;(10.0, 25.0)
  v1 = AB + Vector2(20.,10.)
  print(v1)   # &lt;&lt;&lt;&lt;(30.0, 35.0)
  v2 = AB - Vector2(20.,10.)
  print(v2)   # &lt;&lt;&lt;&lt;(-10.0, 15.0)
  v3 = AB * 3
  print(v3)   # &lt;&lt;&lt;&lt;(30.0, 75.0)
  print(v3 / 3)
  TypeError: unsupported operand type(s) for /: 'Vector2' and 'int'
  </code></pre>
  
  <p>This was all in Python 3.3 but if I run it with Python 2.7, everything works correctly.
  Where's the problem?</p>