Hacer una clase de puntos en Python

Estoy tratando de crear una clase en python titulada "Punto". Estoy tratando de crear un punto en un plano de coordenadas x e y, y seguirlos. Así como encontrar la distancia entre los puntos. Tengo que usar funciones y métodos. He empezado y aquí está mi código. Simplemente no estoy seguro de cómo usarlo cuando voy a ejecutar el programa. Cualquier ayuda será apreciada.

EDITAR: Código actualizado

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()) 

Todavía necesito ayuda para entender cómo usar realmente el código. Es por eso que creé eltestPoint función. Cuando realmente voy a ejecutar el código en IDLE, ¿cómo pruebo que todo funciona? Muchas gracias chicos !!

También necesito agregar código al constructor para incrementarCOUNT por 1 cada vez que se crea un objeto Point. También necesito agregar el código apropiado para poder comparar los puntos usando los operadores de comparación, mientras que los 'puntos' se comparan según su distancia desde el origen.

Respuestas a la pregunta(4)

Su respuesta a la pregunta