มีคลาสพื้นฐานที่เป็นนามธรรมสำหรับคอนเทนเนอร์ Python มีคลาสฐานนามธรรมที่แตกต่างกัน คลาสเหล่านี้เหมือนกับ Containers, Hashtable, Generator, Set, MutableSet, Awaitable เป็นต้น
ในการใช้โมดูลนี้ เราควรนำเข้าโดยใช้ −
import collections.abc
มี Abstract Base Classes ซึ่งมีประโยชน์มาก คลาสเหล่านี้ใช้ในการพัฒนาคลาสคอนเทนเนอร์ที่แตกต่างกัน ตัวอย่างเช่น เราสามารถสร้างคอนเทนเนอร์ที่มีฟังก์ชันครบชุด ในการทำเช่นนั้น เราสามารถใช้คลาสพื้นฐาน 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