الفرق بين المراجعتين لصفحة: «Python/UserList»
لا ملخص تعديل |
|||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:كائنات <code> | <noinclude>{{DISPLAYTITLE:كائنات <code>UserList</code> في بايثون}}</noinclude> | ||
يعدّ <code>UserList</code> صنفًا يغلّف [[Python/list|القوائم]] في بايثون، ويعدّ صنفًا أساسيًا مفيدًا لإنشاء أصناف شبيهة بالقوائم خاصّة بالمستخدم، والتي يمكن الوراثة منها وإعادة تعريف توابعها وإضافة توابع أخرى جديدة، وهكذا يمكن إضافة عمليات جديدة على القوائم. | يعدّ <code>UserList</code> صنفًا يغلّف [[Python/list|القوائم]] في بايثون، ويعدّ صنفًا أساسيًا مفيدًا لإنشاء أصناف شبيهة بالقوائم خاصّة بالمستخدم، والتي يمكن الوراثة منها وإعادة تعريف توابعها وإضافة توابع أخرى جديدة، وهكذا يمكن إضافة عمليات جديدة على القوائم. | ||
سطر 24: | سطر 24: | ||
يجب أن تقدّم الأصناف المتفرّعة عن الصنف <code>UserList</code> دالة بانية يمكن استدعاءها إما دون أيّ معاملات أو مع معامل واحد. وتحاول عمليات القوائم التي تعيد تسلسلًا جديدًا أن تنشئ نسخة عن الصنف الأصلي. وللقيام بذلك، تفترض هذه العمليات أن الدالية البانية قابلة للاستدعاء مع معامل واحد، وهو كائن تسلسل يستخدم كمصدر للبيانات. | يجب أن تقدّم الأصناف المتفرّعة عن الصنف <code>UserList</code> دالة بانية يمكن استدعاءها إما دون أيّ معاملات أو مع معامل واحد. وتحاول عمليات القوائم التي تعيد تسلسلًا جديدًا أن تنشئ نسخة عن الصنف الأصلي. وللقيام بذلك، تفترض هذه العمليات أن الدالية البانية قابلة للاستدعاء مع معامل واحد، وهو كائن تسلسل يستخدم كمصدر للبيانات. | ||
إن لم يخضع أحد الأصناف المشتقّة إلى هذه المتطلبات، فيجب حينئذٍ إعادة تعريف جميع التوابع الخاصّة التي يقدّمها ذلك الصنف. | |||
== انظر أيضًا == | == انظر أيضًا == |
المراجعة الحالية بتاريخ 08:27، 3 أغسطس 2018
يعدّ UserList
صنفًا يغلّف القوائم في بايثون، ويعدّ صنفًا أساسيًا مفيدًا لإنشاء أصناف شبيهة بالقوائم خاصّة بالمستخدم، والتي يمكن الوراثة منها وإعادة تعريف توابعها وإضافة توابع أخرى جديدة، وهكذا يمكن إضافة عمليات جديدة على القوائم.
أصبحت الحاجة إلى هذا الصنف محدودة نظرًا لإمكانية التفريع المباشر من القوائم في بايثون، لكن التعامل مع هذا الصنف أسهل بسبب كون إمكانية الوصول إلى القائمة الضمنية كخاصية.
البنية العامة
class collections.UserList([list])
يحاكي هذا الصنف القوائم العادية في بايثون، ويجري الاحتفاظ بمحتويات النسخة في قائمة عادية يمكن الوصول إليها عن طريق خصائص نسخ الصنف UserList
. تُسند محتويات النسخة بادئ الأمر إلى نسخة من المعامل list
والذي يأخذ القيمة الافتراضية []
والتي تمثّّل قائمة فارغة. يمكن للمعامل list
أن يكون أيّ كائن مكرِّر، مثل قائمة بايثون حقيقية أو كائن UserList
.
خصائص كائنات UserDict
تدعم نسخ UserList
جميع التوابع والعمليات التي تدعمها التسلسلات القابلة للتعديل mutable، إضافة إلى الخاصية التالية:
الخاصية data
قائمة حقيقة تستخدم لتخزين محتويات الصنف UserList
.
متطلبات التفريع
يجب أن تقدّم الأصناف المتفرّعة عن الصنف UserList
دالة بانية يمكن استدعاءها إما دون أيّ معاملات أو مع معامل واحد. وتحاول عمليات القوائم التي تعيد تسلسلًا جديدًا أن تنشئ نسخة عن الصنف الأصلي. وللقيام بذلك، تفترض هذه العمليات أن الدالية البانية قابلة للاستدعاء مع معامل واحد، وهو كائن تسلسل يستخدم كمصدر للبيانات.
إن لم يخضع أحد الأصناف المشتقّة إلى هذه المتطلبات، فيجب حينئذٍ إعادة تعريف جميع التوابع الخاصّة التي يقدّمها ذلك الصنف.
انظر أيضًا
- كائنات
namedtuple
: دالة مولِّدة factory function لإنشاء أصناف فرعية من tuple تتضمن حقولًا مسمّاة - كائنات
deque
: حاوية شبيهة بالقوائم تمتاز بأدائها السريع في إضافة العناصر وحذفها في كلا الطرفين. - كائنات
ChainMap
: صنف شبيه بالقواميس يستخدم لإنشاء عرض منفرد لعمليات ربط mapping متعددة - كائنات
Counter
: صنف فرعي من الصنف dict الهدف منه عدّ الكائنات القابلة للتقطيع hashable - كائنات
OrderedDict
: صنف فرعي من الصنف dict يمكنه تذكّر ترتيب العناصر عند إضافتها - كائنات
defaultdict
: صنف فرعي من الصنف dict يستدعي دالة مولّدة تقدّم القيم المفقودة - كائنات
UserDict
: تغليف حول كائنات القواميس لتسهيل عملية تفريع أصناف القواميس - كائنات
UserString
: تغليف حول كائنات السلاسل النصية لتسهيل عملية تفريع أصناف السلاسل النصية
مصادر
قسم UserList Objects في صفحة Container Datatypes في توثيق بايثون الرسمي.