Criando uma classe de ponto em Python

Eu estou tentando criar uma classe em python intitulada "Point". Eu estou tentando criar um ponto em um plano de coordenadas xeye acompanhá-los. Bem como encontrar a distância entre os pontos. Eu tenho que usar funções e métodos. Eu comecei e aqui está o meu código. Só não sei como usá-lo quando vou executar o programa. Qualquer ajuda será apreciada.

EDIT: atualizado código

import math


class Point(object):
    '''Creates a point on a coordinate plane with values x and y.'''

    COUNT = 0

    def __init__(self, x, y):
        '''Defines x and y variables'''
        self.X = x
        self.Y = y

    def move(self, dx, dy):
        '''Determines where x and y move'''
        self.X = self.X + dx
        self.Y = self.Y + dy

    def __str__(self):
        return "Point(%s,%s)"%(self.X, self.Y) 


    def getX(self):
        return self.X

    def getY(self):
        return self.Y

    def distance(self, other):
        dx = self.X - other.X
        dy = self.Y - other.Y
        return math.sqrt(dx**2 + dy**2)

    def testPoint(x=0,y=0):
        '''Returns a point and distance'''
        p1 = Point(3, 4)
        print p1
        p2 = Point(3,0)
        print p2
        return math.hypot(dx, dy)

    print "distance = %s"%(testPoint()) 

Eu ainda preciso de ajuda para entender como usar o código. É por isso que criei otestPoint função. Quando eu realmente vou executar o código no IDLE, como posso provar que tudo funciona? Muito obrigada pessoal !!

Eu também preciso adicionar código ao construtor para incrementarCOUNT por 1 toda vez que um objeto Point é criado. Eu também preciso adicionar código apropriado para que os pontos possam ser comparados usando os operadores de comparação, enquanto os 'pontos' são comparados com base em sua distância da origem.

questionAnswers(4)

yourAnswerToTheQuestion