Escreva uma classe do zero
You are a Python developer writing a visualization package. For any element in a visualization, you want to be able to tell the position of the element, how far it is from other elements, and easily implement horizontal or vertical flip .
O elemento mais básico de qualquer visualização é um único ponto. Neste exercício, você escreverá do zero uma classe para um ponto em um plano.
Este exercício faz parte do curso
Programação orientada a objetos em Python
Instruções do exercício
Defina a classe Point que possui:
Dois atributos,
xey; as coordenadas do ponto no plano;Um construtor que aceita dois argumentos,
xey, que inicializam os atributos correspondentes. Esses argumentos devem ter o valor padrão de0.0;Um método
distance_to_origin()que retorna a distância do ponto até a origem. A fórmula para isso é \(\sqrt{x^2 + y^2}\).Um método
reflect(), que reflete o ponto com relação ao eixo x ou y:aceita um argumento
axis,se
axis="x", ele define o atributoy(não é um erro de digitação!) como o valor negativo do atributoy,se
axis="y", ele define o atributoxcomo o valor negativo do atributox,para qualquer outro valor de
axis, imprime uma mensagem de erro.

Observação: Você pode optar por usar a função sqrt() do pacote numpy ou math, mas, seja qual for o pacote escolhido, não se esqueça de importá-lo antes de iniciar a definição da classe!
Para verificar seu trabalho, você deve ser capaz de executar o código a seguir sem erros:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
e retornar a saída
(-3.0,0.0)
5.0
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Write the class Point as outlined in the instructions