[Python] __len__(), __contains__()

ungnam·2025년 2월 17일

파이썬의 특수 메서드(매직 메서드)

__len__()

객체의 길이를 반환하는 메서드
len(obj)를 호출하면 내부적으로 obj.__len__()가 실행됨

class MyList:
    def __init__(self, data):
        self.data = data

    def __len__(self):
        return len(self.data)  # 리스트 길이 반환

my_list = MyList([1, 2, 3, 4])
print(len(my_list))  # 4

__contains__()

in 연산자가 호출될 때 실행됨
x in obj → 내부적으로 obj.__contains__(x)가 실행됨

class MyList:
    def __init__(self, data):
        self.data = data

    def __contains__(self, item):
        return item in self.data  # 포함 여부 반환

my_list = MyList([1, 2, 3, 4])

print(3 in my_list)  # True
print(5 in my_list)  # False
profile
꾸준함을 잃지 말자.

0개의 댓글