Chapter 10. 스페셜 메서드 (Magic Methods)

파이썬의 세계에서는 “마법(Magic)”이 존재합니다.
우리가 흔히 쓰는 덧셈(+), 대괄호([]), 속성 점(.), 심지어 len() 같은 함수까지, 겉보기엔 평범한 연산자와 함수들이지만 객체 내부에서는 밑줄 두 개(__)로 감싸진 스페셜 메서드 (Special Methods 또는 Magic Methods)가 몰래 호출되어 마법처럼 작동합니다.
이 장에서는 우리가 만든 객체에 파이썬의 표준 연산자와 내장 함수들이 자연스럽게 스며들도록 도와주는 마법의 주문, 스페셜 메서드에 대해 알아봅니다.
📖 목차
- 연산자와 스페셜 메서드
- 점(
.) 연산자의 마법:__getattribute__,__getattr__,__setattr__ - 컨테이너 탐색과 비교:
__contains__,__eq__ - 대괄호(
[])의 비밀:__getitem__,__setitem__, 슬라이싱 - 사칙연산 오버로딩:
__add__,__iadd__등
- 점(
- 내장 함수와 스페셜 메서드
- 함수처럼 호출하기
callable()과__call__ - 객체의 신분증
id(),hash() - 혈통(타입) 확인
isinstance(),issubclass() - 길이를 재는
len()과__len__ - 동적 속성 제어
getattr(),setattr()
- 함수처럼 호출하기
서브목차