I DID get the right answer.
class Point3D(object): def __init__(self, x, y, z): self.x = x self.y = y self.z = z return "(%d, %d, %d)" % (self.x, self.y, self.z) my_point = Point3D(1, 2, 3) print my_point
what i want to know is why everything fed to open() must be in string form?