पायथन कंटेनर्स के लिए कुछ एब्सट्रैक्ट बेस क्लासेस हैं। अलग-अलग एब्सट्रैक्ट बेस क्लासेस हैं। ये क्लासेस कंटेनर्स, हैशटेबल, जनरेटर, सेट, म्यूटेबलसेट, अवेटेबल आदि की तरह हैं।
इस मॉड्यूल का उपयोग करने के लिए, हमें इसे आयात करना चाहिए।
import collections.abc
कुछ एब्सट्रैक्ट बेस क्लासेस हैं, जो बहुत उपयोगी हैं। इन क्लासेस का उपयोग विभिन्न कंटेनर क्लासेस विकसित करने के लिए किया जाता है। एक उदाहरण के लिए हम एक कंटेनर बना सकते हैं जिसमें पूर्ण सेट कार्यक्षमता हो। इसे बनाने के लिए, हम Set एब्सट्रैक्ट बेस क्लास का उपयोग कर सकते हैं। हमें अपनी क्लास में कुछ मेथड्स सप्लाई करने की आवश्यकता है। ये __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