__getitem__, __setitem__

이진·2023년 4월 29일

저번에 Python's Magic Method 에 대해서 잠깐 이야기 했었다. __init__, __len__, __iter__ 이렇게 세가지 매직 메소드가 어떤 동작을 하는지 알아보았고 예제 코드를 확인했었다.

이번에는 __getitem__, __setitem__ 이 두가지를 추가로 살펴보겠다. 저번에 매직 메소드에 대해 어느정도 이해를 했으니 이번에는 바로 예시 코드를 보고 설명을 해도 쉽게 이해할 수 있을 것이다.

class myList():
	def __init__(self):
    	self.list = [1, 2, 3, 4, 5]
    
    def __getitem__(self, key):
    	return self.list[key]
    
    def __setitem__(self, key, value):
    	self.list[key] = value

먼저 __getitem__self[key]를 통해 값에 접근하려고 할 때 사용하는 메소드이다.
리스트에서 인덱스로 값을 가져오는 것과 똑같은 행동을 정의해주는 것이다.

__setitme__self[key] = 10과 같이 key를 통해 값을 초기화 하려고 할 때 사용하는 메소드이다.
리스트에서 인덱스로 값에 접근해 초기화해주는 것과 똑같은 행동을 정의해준다.

저번에 이미 매직 메소드에 대해서 다뤘기 때문에 __getitem____setitem__이 어떤 동작을 하는지만 설명해도 쉽게 이해를 하고 어떻게 활용할 수 있을지 금방 떠올릴 수 있을 것이니 이번 설명은 간단하게 마치도록 하겠다.

0개의 댓글