Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

컨테이너용 Python 추상 기본 클래스

<시간/>

Python 컨테이너에 대한 몇 가지 추상 기본 클래스가 있습니다. 다양한 추상 기본 클래스가 있습니다. 이러한 클래스는 Containers, Hashtable, Generator, Set, MutableSet, Awaitable 등과 같습니다.

이 모듈을 사용하려면 −

를 사용하여 가져와야 합니다.
import collections.abc

매우 유용한 일부 추상 기본 클래스가 있습니다. 이 클래스는 다른 컨테이너 클래스를 개발하는 데 사용됩니다. 예를 들어 전체 세트 기능이 있는 컨테이너를 만들 수 있습니다. 이를 위해 Set Abstract 기본 클래스를 사용할 수 있습니다. 클래스에 몇 가지 메서드를 제공해야 합니다. 이들은 __contains__(), __iter__() 및 __len__()

입니다.

예시 코드

import collections.abc
class ListSet(collections.abc.Set):
   def __init__(self, iterable):
      self.elements = lst = list()
      for element in iterable:
      if element not in lst:
      lst.append(element)

   def __iter__(self):
      return iter(self.elements)

   def __contains__(self, value):
      return value in self.elements

   def __len__(self):
      return len(self.elements)

   set1 = ListSet('ABCDEF')
   set2 = ListSet('DEFGHI')
   intersect = set1 & set2

   intersect_iter = iter(intersect)

try:
   while True:
   print(next(intersect_iter))
   except:
   pass

출력

D
E
F