던더함수

    [python] 던더함수, 더블언더스코어 의미 (__len__), (__contains__)

    파이썬에서 시작과 끝에 언더스코어(_) 2개가 붙은 함수를 본 적 이 있을 것입니다. 밑줄 두개가 뭍은 이 함수를 더블 언더스코어(double underscore) 또는 줄여서 던더(dunder)라고 합니다. 예를 들면 __len__ 이라는 던더 함수가 있을 때, 이를 던더 렌 또는 렌 던더라고 표현합니다. 이 함수는 특별하게 쓰일 수가 있는데요. 예를 들면, 클래스에 __len__()함수를 정의하면 클래스형의 인스턴스를 len()함수에 전달할 수 있게됩니다. 클래스형 인스턴스 obj가 있다고 가정하겠습니다. 인스턴스 obj에 대한 __len()__ 함수를 호출하는 obj.__len__() 은 간단하게 len(obj)로 작성할 수 있습니다. 또 다른 예를 들어보겠습니다. 클래스에 __contains__(..