1. The constructor is called __init__. Every Point object has attributes called x and y. They are defined by assigning values to self.x and self.y in the constructor. To create the specified Point objects from the console: >>> p1 = Point(3, 4) >>> p2 = Point(-5, -12) 3. The correct call is c: >>> p1.distance_from_origin() 5.0 We can determine this by consulting the header of the method: def distance_from_origin(self): The only parameter is the special parameter self, and its value comes from the called object (p1), which we put before the dot. Doing so causes a reference to the called object to be assigned to the special parameter self, and thus the method can use self to access the internals of the called object -- including the x and y values needed to compute the distance. And because self is the only parameter, we don't need to pass in anything else, and thus we have empty parens at the end of the method call.