나는 대부분의 문서를 읽었습니다. __getitem__
파이썬 있는 봤지만 여전히 그 의미를 파악할 수 없습니다.
그래서 내가 이해할 수있는 것은 다음 __getitem__
과 같은 호출을 구현하는 데 사용 된다는 것입니다.self[key]
입니다. 그러나 그것의 용도는 무엇입니까?
이런 식으로 정의 된 파이썬 클래스가 있다고 가정 해 봅시다.
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def __getitem__(self,key):
print ("Inside `__getitem__` method!")
return getattr(self,key)
p = Person("Subhayan",32)
print (p["age"])
예상대로 결과가 반환됩니다. 하지만 __getitem__
애초에 왜 사용 합니까? 나는 또한 파이썬이__getitem__
내부적으로 . 하지만 왜 그렇게합니까?
누군가 이것을 더 자세히 설명해 주시겠습니까?
__getitem__
예제에서 의 사용은별로 의미가 없지만 .NET을 사용하는 기존 코드와 함께 작동해야하는 사용자 지정 목록 또는 사전과 같은 클래스를 작성해야한다고 상상해보십시오 []
. 그것이 __getitem__
유용한 상황 입니다.