[Python] 매직 메소드
2022. 11. 30. 17:48
매직 메소드는 메소드 앞 뒤에 '__'가 붙은 메소드를 뜻한다.

이 외에도 많은 매직 메소드가 존재한다.
간단한 예제를 만들어보자.
class Magic():
def __init__(self, num):
self._a = num
def __add__(self, b):
return self._a + b
a = Magic(1)
print(a+3)
4
많이 사용하던 생성자도 매직 메소드다.
_a에 다른 값을 더하는 매직 메소드 __add__를 선언했고 +로 사용하였다.
원래 1 + 1과 같이 단순히 입력한 값만 더하는 용도로 썼다면
매직 메소드를 이용해 새로운 수식을 적용할 수 있다.
__add__가 + 와 매핑되는 것 처럼
__mul__은 *와 매핑되고
객체에 접근하기 위해 사용했던 .(dot) 또한 __getattribute__와 매핑된다.
'Python > 파이썬 중급' 카테고리의 다른 글
| [Python] MappingProxyType (0) | 2022.12.07 |
|---|---|
| [Python] 네임드 튜플 (namedtuple) (0) | 2022.12.06 |
| [Python] 데코레이터 심화 (0) | 2022.11.29 |
| [Python] 인스턴스 메소드, 클래스 메소드, 정적(static) 메소드 (0) | 2022.11.29 |
| [Python] __doc__ 메소드 (0) | 2022.11.29 |