Напишите класс с нуля
Вы — Python-разработчик, создающий пакет для визуализации. Для каждого элемента визуализации нужно уметь определять его положение, расстояние до других элементов, а также легко выполнять горизонтальное или вертикальное отражение.
Самый базовый элемент любой визуализации — это точка. В этом упражнении вы напишете класс для точки на плоскости с нуля.
Это упражнение является частью курса
Объектно-ориентированное программирование на Python
Инструкции к упражнению
Определите класс Point, который содержит:
- Два атрибута,
xиy— координаты точки на плоскости; - Конструктор, принимающий два аргумента,
xиy, которые инициализируют соответствующие атрибуты. Значение этих аргументов по умолчанию должно быть0.0; - Метод
distance_to_origin(), который возвращает расстояние от точки до начала координат. Формула: \(\sqrt{x^2 + y^2}\). - Метод
reflect(), отражающий точку относительно оси x или y:- принимает один аргумент
axis, - если
axis="x", устанавливает атрибутy(это не опечатка!) равным противоположному значению атрибутаy, - если
axis="y", устанавливает атрибутxравным противоположному значению атрибутаx, - для любого другого значения
axisвыводит сообщение об ошибке.
- принимает один аргумент
Примечание: Вы можете использовать функцию sqrt() из пакета numpy или math — на ваш выбор. Но какой бы пакет вы ни выбрали, не забудьте импортировать его перед определением класса!
Чтобы проверить правильность вашего решения, запустите следующий код — он должен выполниться без ошибок:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
и вернуть результат
(-3.0,0.0)
5.0
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Write the class Point as outlined in the instructions