title: Python "instance has no attribute ..."
body: <p>I have some problem with Python, so heres my class to this point:</p>
  
  <pre><code>class Rectangle:
  
  def __init__(self, x1=0, y1=0, x2=0, y2=0):
      if(x1 &gt; x2):
          raise ValueError("x1 cannot be bigger than x2!")
      if(y1 &gt; y2):
          raise ValueError("y1 cannot be bigger than y2!")
      self.pt1 = Point(x1, y1)
      self.pt2 = Point(x2, y2)
  
  def __str__(self):      
      return str("[(" + str(self.pt1.x) + ", " + str(self.pt1.y) + "), (" + str(self.pt2.x) + ", " + str(self.pt2.y) + ")]")
  
  def __repr__(self):        
      return str("Rectangle(" + str(self.pt1.x) + ", " + str(self.pt1.y) + ", " + str(self.pt2.x) + ", "+ str(self.pt2.y) + ")")
  
  def __eq__(self, other): 
      return (self.pt1== other.pt1 and self.pt2 == other.pt2)
  
  def __ne__(self, other):       
      return not self == other
  
  def center(self):         
      return Point((self.pt2.x - self.pt1.x) / 2, (self.pt2.y - self.pt1.y) / 2)
  </code></pre>
  
  <p>and when I try to use method "center" in another class like that:</p>
  
  <pre><code>class TestRectangle(unittest.TestCase):
  
      def setUp(self):
          self.first = Rectangle(1, 2, 3, 4)
          self.second = Rectangle(2, 2, 4, 5)
  
      def test_init(self):
          with self.assertRaises(ValueError):
              Rectangle(5, 1, 2, 3)
          self.assertEqual(self.first.pt1, Point(1, 2))
          self.assertEqual(self.first.pt2, Point(3, 4))
          self.assertEqual(self.second.pt1.x, 2)      
  
      def test_str(self):
          self.assertEqual(str(self.first), "[(1, 2), (3, 4)]")
  
      def test_repr(self):
          self.assertEqual(repr(self.first), "Rectangle(1, 2, 3, 4)")
  
      def test_eq(self):
          self.assertTrue(self.first == Rectangle(1,2,3,4))
          self.assertFalse(self.first == self.second)
  
      def test_ne(self):
          self.assertFalse(self.first != Rectangle(1,2,3,4))
          self.assertTrue(self.first != self.second)
  
      def test_center(self):
          self.assertEqual(self.first.center(), Point(2, 2.5))
  </code></pre>
  
  <p>I got this message: </p>
  
  <pre><code>Rectangle instance has no attribute "center". 
  </code></pre>
  
  <p>I dunno what to do now, why don't it see my method?</p>