Python의 Magic Method
Python에서는 "__" 이중 밑줄로 묶인 모든 메서드를 총칭하여 "매직 메서드"라고 합니다. 예를 들어, 우리가 가장 많이 접촉하는 __init__ 입니다. 매직 메소드의 기능은 무엇인가요?
이러한 마법 메서드를 사용하면 아름다운 코드를 구성하고 복잡한 논리를 간단한 메서드로 캡슐화할 수 있습니다.
그럼 클래스의 매직 메소드는 무엇인가요?
파이썬의 내장 메소드 dir()을 사용하여 클래스의 모든 매직 메소드를 나열할 수 있습니다.
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- class User(object): pass if __name__ == '__main__': print(dir(User()))
출력 결과:
보시다시피 여전히 클래스에 꽤 많은 매직 메소드가 있습니다. 예, 스크린샷이 완전하지는 않습니다. 하지만 일반적으로 사용되는 몇 가지 매직 메소드만 이해하면 됩니다.