কম্পিউটার টিউটোরিয়াল

পাইথন কন্টেইনার জন্য অ্যাবস্ট্রাক্ট বেস ক্লাস


পাইথন কন্টেইনারগুলির জন্য কিছু অ্যাবস্ট্রাক্ট বেস ক্লাস রয়েছে। বিভিন্ন অ্যাবস্ট্রাক্ট বেস ক্লাস রয়েছে। এ ক্লাসগুলো হলো Containers, Hashtable, Generator, Set, MutableSet, Awaitable ইত্যাদি।

এই মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে -

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

  1. কুইকসর্টের পাইথন প্রোগ্রাম

  2. ডায়রেক্টেড গ্রাফে সাইকেল ডিটেক্ট করার পাইথন প্রোগ্রাম

  3. পাইথনে ইনহেরিটেন্স (Inheritance)

  4. পাইথনে বেস ওভারলোডিং মেথডগুলো কী কী?