커스텀 컨테이너(컨테이너)
이전 장의 소개 이후 우리는 Python에서 일반적인 컨테이너 유형이 dict, tuple, list, string이라는 것을 알았습니다. 컨테이너화된 컨테이너와 불변 컨테이너의 개념도 언급됩니다. 그 중 튜플과 스트링은 불변 컨테이너이고, 딕셔너리와 리스트는 가변 컨테이너이다. 변경 가능한 컨테이너와 불변 컨테이너의 차이점은 변경 불가능한 컨테이너에 값이 할당되면 그 안의 요소를 수정할 수 없다는 것입니다. 물론 자세한 소개를 보려면 사진과 텍스트가 포함된 이전 기사를 다시 읽어보면 됩니다.
먼저 질문이 있습니다. 이러한 데이터 구조가 우리가 개발하고 사용하기에 충분한가요? 충분하지 않거나 이러한 기본 용기만으로는 해결할 수 없는 특별한 요구 사항이 있는 경우 어떻게 해야 합니까?
이때 컨테이너를 커스터마이징해야 하는데 어떻게 해야 할까요?
함수 | 설명 |
사용자 정의 불변 컨테이너 유형 | __len__ 및 __getitem__ 메소드 정의 필요 |
사용자 정의 가변 유형 컨테이너 | 불변 컨테이너 유형을 기준으로 추가됨 정의 __setitem__ 및 __delitem__ |
사용자 정의 데이터 유형을 반복해야 합니다 | __iter__ |
사용자 정의 컨테이너의 길이를 반환해야 합니다. | __len__(self)를 구현해야 합니다. |
사용자 정의 컨테이너는 self[key]를 호출할 수 있습니다. 키 유형이 잘못되면 TypeError가 발생합니다. 키에 해당하는 값을 반환할 수 없으면 메서드에서 ValueError를 발생시켜야 합니다. | self[ key를 실행할 때 __getitem__(self, key)를 구현해야 합니다. ] = value |
del self[key] 메소드가 실행될 때 | |
컨테이너가 컨테이너에서 x에 대해 실행되도록 하거나 iter(container)를 사용하려면 __iter__(self)를 구현해야 합니다. 이 메서드는 반복자를 반환합니다. 위의 마법 메서드를 사용하는 방법을 살펴보겠습니다. Haskell에서 데이터 구조를 구현합니다. 언어: | |
지속적인 학습
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~
이 강좌를 시청한 학생들도 학습하고 있습니다.
|