썸넬 gpt가 만들어줌...
python advanced 강의를 들으며, 정리한 부분입니다.
강의 출처: 유튜브 - Magic Methods & Dunder - Advanced Python Tutorial #1
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self ,other):
return Vector(self.x + other.x, self.y + other.y)
def __repr__(self):
return f"X: {self.x}, Y: {self.y}"
def __len__(self):
return 10
def __call__(self):
print("Hello. I want to go home")
v1 = Vector(10, 20)
v2 = Vector(50, 60)
v3 = v1 + v2
print(v3) # X: 60, Y: 80
print(len(v3)) # 10
print(v3()) # Hello. I want to go home
__init__
(생성자, Constructor)
self.x
, self.y
를 통해 인스턴스 변수를 초기화함Vector(10, 20)
를 실행하면 x=10
, y=20
으로 저장됨__add__
(연산자 오버로딩: +)
__repr__
(객체를 문자열로 표현)
__repr__
를 정의하면, 객체가 어떤 데이터인지 쉽게 확인할 수 있도록 문자열을 반환함__str__
과 유사하지만, __repr__
은 디버깅 및 개발 목적으로 주로 사용됨__len__
(객체의 길이 반환)
__call__
메서드 (객체를 함수처럼 호출)
v3()
를 호출하면 "Hello. I want to go home"이 출력됨