
썸넬 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"이 출력됨