__getitem__
2021. 5. 21. 16:38ㆍPython
728x90
리스트처럼 클래스의 인스턴스 자체도 슬라이싱을 할 수 있도록 만들 때 필요한 속성이 __getitem__이라는 속성
<예제 코드>
1. 직접 인스턴스에 접근해 슬라이싱
class CustomNumbers:
def __init__(self):
self._numbers = [n for n in range(1, 11)]
a = CustomNumbers()
a._numbers[2:5] # [3, 4, 5]
2. getitem 특별 메소드로 인스턴스 변수에 접근하지 않고 객체 자체를 통해 슬라이싱을 구현
__getitem__함수는 인덱스를 인수로 받아야 한다.
class CustomNumbers:
def __init__(self):
self._numbers = [n for n in range(1, 11)]
def __getitem__(self, idx):
return self._numbers[idx]
a = CustomNumbers()
a[2:7]
# [3, 4, 5, 6, 7]
728x90
'Python' 카테고리의 다른 글
hasattr(object, name) / getattr(object, name) / setattr(object, name) (0) | 2021.06.15 |
---|---|
class 이름/ class 변수 참조 (0) | 2021.06.15 |
Python argparse (0) | 2021.05.09 |
2차원 List 뒤집기 (0) | 2021.05.01 |
정규 표현식 (0) | 2021.04.29 |