파이썬의 Container 객체
컨테이너는 __contains__
메소드를 구현한 객체로 __contains__
메소드는 일반적으로 boolean 값을 반환합니다. 이 메소드는 파이썬에서 in 키워드
가 사용될 때 호출됩니다.
element in container는 다음과 같이 해석됩니다.
container.__contains__(element)
예제를 하나 살펴보겠습니다.
class Boundary:
def __init__(self, width, height):
self.width = width
self.height = height
def __contains__(self, coord):
x, y = coord
return 0 <= x < self.width and 0 <= y < self.height
boundary = Boundary(5, 10)
print((4, 2) in boundary)
print((3, 20) in boundary)
--------------------------------------------------
True
False