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