array --- مصفوفات من البيانات العددية¶
تُعرّف هذه الوحدة النوع array.array: تسلسل موفّر للمساحة من قيم نوع عددي ثابت وحيد، قابل للفهرسة كقائمة لكنه مدعوم بكتلة متجاورة من الذاكرة يمكن الوصول إليها عبر بروتوكول المخزن المؤقت (buffer protocol).
رموز الأنواع المدعومة¶
يختار وسيط typecode المؤلف من حرف واحد نوع العنصر:
رمز النوع |
نوع C |
البايتات |
نوع Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 أو 4 |
|
|
|
2 أو 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
يتطلب الرمزان 'f' و 'd' برنامجاً ثابتاً مبنياً بدعم الفاصلة العائمة (وهو الافتراضي على معظم اللوحات). يتبع العرض الدقيق لـ 'i' و 'I' واجهة C ABI الخاصة بالمضيف --- وهو عادةً 4 بايتات على منافذ Cortex-M.
الأصناف¶
- class array.array(typecode: str, iterable: Iterable = ())¶
إنشاء مصفوفة بعناصر من النوع المحدد. تُعطى المحتويات الأولية للمصفوفة بواسطة iterable. إذا لم يُقدَّم، تُنشأ مصفوفة فارغة.
بالإضافة إلى الطرق أدناه، تُنفّذ كائنات المصفوفة أيضاً بروتوكول المخزن المؤقت. هذا يعني أنه يمكن الوصول إلى محتويات المصفوفة بأكملها كبايتات خام عبر
memoryviewأو واجهات أخرى تستخدم هذا البروتوكول.- extend(iterable: Iterable) None¶
إلحاق عناصر جديدة موجودة في iterable بنهاية المصفوفة، مما يزيد حجمها.
- __getitem__(index: int | slice) Any¶
قراءة مفهرسة للمصفوفة، تُستدعى بصيغة
a[index](حيثaهيarray). تُرجع قيمة إذا كان index من نوعintوarrayإذا كان index شريحة (slice). تُحسب الفهارس السالبة من النهاية ويُطلقIndexErrorإذا كان الفهرس خارج النطاق.ملاحظة: لا يمكن استدعاء
__getitem__مباشرة (a.__getitem__(index)يفشل) وهي غير موجودة في__dict__، لكنa[index]يعمل بالفعل.
- __setitem__(index: int | slice, value: Any) None¶
كتابة مفهرسة في المصفوفة، تُستدعى بصيغة
a[index] = value(حيثaهيarray). تكونvalueقيمة واحدة إذا كان index من نوعintوarrayإذا كان index شريحة (slice). تُحسب الفهارس السالبة من النهاية ويُطلقIndexErrorإذا كان الفهرس خارج النطاق.ملاحظة: لا يمكن استدعاء
__setitem__مباشرة (a.__setitem__(index, value)يفشل) وهي غير موجودة في__dict__، لكنa[index] = valueيعمل بالفعل.
- __len__() int¶
يُرجع عدد العناصر في المصفوفة، يُستدعى بصيغة
len(a)(حيثaهيarray).ملاحظة: لا يمكن استدعاء
__len__مباشرة (a.__len__()يفشل) والطريقة غير موجودة في__dict__، لكنlen(a)يعمل بالفعل.
- __add__(other: array) array¶
يُرجع
arrayجديدة هي ناتج ضمّ المصفوفة مع other، يُستدعى بصيغةa + other(حيثaو other كلاهماarrays).ملاحظة: لا يمكن استدعاء
__add__مباشرة (a.__add__(other)يفشل) وهي غير موجودة في__dict__، لكنa + otherيعمل بالفعل.
- __iadd__(other: array) array¶
يضمّ المصفوفة مع other في المكان نفسه (in-place)، يُستدعى بصيغة
a += other(حيثaو other كلاهماarrays). مكافئ لـextend(other).ملاحظة: لا يمكن استدعاء
__iadd__مباشرة (a.__iadd__(other)يفشل) وهي غير موجودة في__dict__، لكنa += otherيعمل بالفعل.
- __repr__() str¶
يُرجع التمثيل النصي للمصفوفة، يُستدعى بصيغة
str(a)أوrepr(a)(حيثaهيarray). يُرجع السلسلة"array(<type>, [<elements>])"، حيث<type>هو حرف رمز النوع للمصفوفة و<elements>قائمة بعناصر المصفوفة مفصولة بفواصل.ملاحظة: لا يمكن استدعاء
__repr__مباشرة (a.__repr__()يفشل) وهي غير موجودة في__dict__، لكنstr(a)وrepr(a)كلاهما يعملان.