Lecture Notes on 12 Aug 2013 import math class Point (object): # initializer def __init__ (self, x = 0, y = 0): self.x = x self.y = y # get distance def dist (self, p): return math.hypot (self.x - p.x, self.y - p.y) # string representation def __str__ (self): return '(' + str(self.x) + ', ' + str(self.y) + ')' class Circle (object): # initializer def __init__ (self, x = 0, y = 0, radius = 1): self.center = Point (x, y) self.radius = radius # compute area def area (self): return math.pi * self.radius * self.radius # compute circumference def circumference (self): return 2.0 * math.pi * self.radius # string representation def __str__ (self): return 'Center = ' + str(self.center) + ' Radius = ' + str(self.radius) def main(): # Create Point objects p = Point (1, 2) print (p) q = Point (3, 4) print (q) p.x = 6 p.y = 7 print (p) print (p.dist(q)) circleC = Circle (1, 1, 2) print (circleC) print (circleC.area()) main()