title: Python - Classes and objects
body: <p>This may appear like a very trivial question but I have just started learning python classes and objects. I have a code like below.</p>
  
  <pre><code>class Point(object):
      def __init__(self,x,y):
              self.x = float(x)
              self.y = float(y)
      def __str__(self):
              return '('+str(self.x)+','+str(self.y)+')'
  
  def main():
  p1 = Point(pt1,pt2)
  p2 = Point(pt3,pt4)
  p3 = Point(pt5,pt6)
  p4 = Point(pt7,pt8)
  parray = [p1,p2,p3,p4]
  print " Points are", p1,p2,p3,p4
  print "parray",parray
  </code></pre>
  
  <p>I m getting the below Output :</p>
  
  <p>Points are (4.0,2.0) (4.0,8.0) (4.0,-1.0) (100.0,1.0)
  parray - intersection.Point object at 0x7ff09f00a550, intersection.Point object at 0x7ff09f00a410, intersection.Point object at 0x7ff09f00a590</p>
  
  <p>My question is why are the addresses of objects assigned to array while I get the values while printing the objects?
  Can someone suggest a way to get the values returned by class in array in main function?</p>