처음부터 클래스를 직접 만들어 보기
여러분은 시각화 패키지를 만드는 Python 개발자입니다. 시각화의 어떤 요소든 위치를 알 수 있고, 다른 요소들과의 거리를 계산하며, 가로 또는 세로로 손쉽게 뒤집을 수 있어야 합니다.
가장 기본적인 시각화 요소는 단일 점입니다. 이 연습 문제에서는 평면 위의 점을 나타내는 클래스를 처음부터 작성해 보겠습니다.
이 연습은 강의의 일부입니다
Python의 객체 지향 프로그래밍
연습 안내
다음과 같은 특징을 가진 Point 클래스를 정의하세요:
- 두 개의 속성
x와y— 평면에서 점의 좌표입니다. - 생성자 —
x와y두 인자를 받아 해당 속성을 초기화합니다. 이 인자들의 기본값은0.0이어야 합니다. - 메서드
distance_to_origin()— 점에서 원점까지의 거리를 반환합니다. 공식은 \(\sqrt{x^2 + y^2}\) 입니다. - 메서드
reflect()— 점을 x축 또는 y축에 대해 대칭 이동합니다:- 인자
axis하나를 받습니다. axis="x"이면y속성 값을 음수로 바꿉니다(오타가 아닙니다!).axis="y"이면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