Q:

Python append method adds object to the list

I have the following code, which is a very simplified version:
class Robot:

    def __init__(self, x, y):

        self.x = x
        self.y = y

    def set_position(self, a):

        x, y = self.x, self.y

        x = x + a
        y = y + a

        self.x = x
        self.y = y

        return self.x, self.y

    def save_position(x, y):

        coord = x, y
        positions = list(coord)

        print("The list 'positions' contains {0}".format(positions))

robot = Robot(1, 2)

coord = robot.set_position(1)
robot.save_position(coord)

The result is:
The list 'positions' contains [<__main__.Robot object at 0x02BE5490>, (2, 3)]

I don't get why is the object appended to the list? I would need only to make the coordinates (2,3) appended, giving the following result:
The list 'positions' contains [(2, 3)]

Thanks for help!

EDIT : corrections based on comments
class Robot:

    def __init__(self, x, y):

        self.x = x
        self.y = y

    def set_position(self, a):

        x, y = self.x, self.y

        self.x += a
        self.y += a

        return self.x, self.y

    def save_position(self, coord):

        x, y = coord
        positions = list()
        positions.append(coord)

        print("The list 'positions' contains {0}".format(positions))

robot = Robot(1, 2)

coord = robot.set_position(1)
robot.save_position(coord)

A:

I did following changes:
    def set_position(self, a):
        coord=(self.x+a), (self.y+a)
        return (coord)
    def save_position(x, y):
        print("The list 'positions' contains {0}".format(coord))

it brings: 
The list 'positions' contains (2, 3)

