كيفية استخدام الوحدة collections.abc‎ في لغة البرمجة بايثون

 

تُعد الوحدة (collections .abc‎) واحدة من الوحدات القياسية الخاصة بلغة البرمجة بايثون (Python)، وتقدّم هذه الوحدة مجموعة من الأصناف الأساسية المجرّدة التي تسمى ب (abstract base classes) والتي يرمز لها ب (ABC)، والهدف الأساسي من استخدام هذه الوحدة هو التأكد فيما إذا كان صنف معيّن يقدّم واجهة (interface) معينة، وهناك العديد من الأصناف الخاصة بهذه الوحدة والتي تقوم بتنفيذ العديد من المهام.

 

أهم الأصناف الخاصة بالوحدة القياسية collections .abc‎ في لغة البرمجة بايثون

 

هناك العديد من الأصناف الخاصة بالوحدة القياسية (collections .abc‎) في لغة البرمجة بايثون، وفيما يلي جدول يحتوي على أهم هذه الأصناف:

 

الصنف الاستخدام

الصنف (collections. abc .Iterable)

وهو عبارة عن صنف أساسي مجرّد (abstract) للأصناف التي تقدّم التابع من نوع  ‎(__iter__()‎)، حيث يتم التحقّق بواسطة الدالة isinstance (obj، iterable)‎) إلى الكشف عن الأصناف المسجّلة على أنّها صنف أساسي من نوع (Iterable)، أو أنّها تمتلك التابع (‎(_iter()‎.

الصنف (collections .abc. Iterator)

وهو عبارة عن صنف أساسي مجرّد للأصناف التي تقدّم التابعين ‎(iter_())‎ و (‎(next_()‎‎.

الصنف (collections .abc. Reversible)

وهو عبارة عن صنف أساسي مجرّد للأصناف التكرارية التي تقدّم التابع من نوع (‎(reversed_()‎.

الصنف (collections .abc. AsyncIterator)

وهو عبارة عن صنف أساسي مجرّد للأصناف التي تقدّم التابعين (‎(aiter‎ و (‎(anext وهذا الصنف جديد في الإصدار رقم ( 3.5) من بايثون.

الصنف (collections .abc. AsyncGenerator)

وهو عبارة عن صنف أساسي مجرّد للأصناف غير المتزامنة (asynchronous generator classes) والتي تعتمد على بروتوكول معين.

الصنف (collections. abc .AsyncIterable)

 

وهو عبارة عن صنف أساسي مجرّد للأصناف التي تقدّم التابع ‎(aiter)‎.

الصنف (collections. abc .Coroutine)

 

وهو عبارة عن صنف أساسي مجرّد للأصناف التي يتم استخدامها مع الـ ( coroutine.) وتستخدم هذه الأصناف  مجموعة مختلفة من التوابع مثل: (send()‎) و throw())‎) و (close()‎)، والمعرّفة ضمن كائنات ال (Coroutine.)، إلى جانب ذلك يجب أن يتضمّن الاستخدام المخصّص لهذا الصنف الأساسي المجرد تضمين التابع (‎(__await__()‎ جميع نسخ الصنف من نوع (Coroutine) والتي  هي نسخ للصنف (Awaitable) أيضاً.