title: AttributeError on method __setitem__
body: <p>I have the following code:</p>
  
  <pre><code>class VectorN(object):
      def __init__(self, param):
          if isinstance(param, int):
              self.dim = param
              self.data = [0.0] * param
  
          elif isinstance(param, tuple):
              self.dim = 3
              self.data = param
          #else:
              #raise TypeError("You must pass an int or sequence!")
  
      def __str__(self):
          return "&lt;Vector" + str(self.dim) + ": " + str(self.data) + "&gt;"
  
      def __len__(self):
          return len(self.data)
  
  
      def __setitem__(self, key, item): 
          self.data[key] = item
  </code></pre>
  
  <p>Now when i try to call the <code>__setitem__</code> method using the following code,</p>
  
  <pre><code>w = VectorN((1.2, "3", 5))
  w.setitem(0, 9.9)
  print(z) 
  print(w) 
  print(z[0])
  print(len(v))
  </code></pre>
  
  <p>it gives me:</p>
  
  <blockquote>
    <p>AttributeError: 'VectorN' object has no attribute 'setitem'</p>
  </blockquote>