الفرق بين المراجعتين لصفحة: «Python/bytearray»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات [[Python/bytes|البايتات bytes]]. | مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات [[Python/bytes|البايتات bytes]]. | ||
يُعيد الصّنف <code>bytearray()</code> (والذي يُعامَل مُعاملة | يُعيد الصّنف <code>bytearray()</code> (والذي يُعامَل مُعاملة الدّالة) مصفوفة بايتات جديدة، ويكون الصّنف تسلسُلًا قابلًا للتّغيير يحتوي على [[Python/int|الأعداد الصّحيحة]] ضمن المدى <code>0 <= x < 256</code>. ويملك مُعظم التّوابع التي تملكها التّسلسلات الأخرى ([[Python/list|كالقوائم]] [[Python/tuples|والصّفوف]] مثلًا)، والمشروحة في [[Python/typesseq-mutable|صفحة أنواع التسلسلات القابلة للتّغيير]]، إضافةً إلى امتلاك مُعظم التّوابع التي يملكها النّوع [[Python/bytes|bytes]]، انظر [[Python/bytes-methods|عمليّات البايتات]]. | ||
== البنية العامة == | == البنية العامة == | ||
سطر 13: | سطر 13: | ||
مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة: | مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة: | ||
* إن كان سلسلةً | * إن كان [[Python/str|سلسلةً نصيّة]]، فيجب تمرير قيمة للمعامل <code>encoding</code> (وقيمة للمُعامل <code>errors</code> اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابع <code>str.encode()</code>. | ||
* إن كان عددًا | * إن كان [[Python/int|عددًا صحيحًا]]، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة. | ||
* إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات. | * إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات. | ||
* إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة. | * إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة. | ||
سطر 45: | سطر 45: | ||
* يكون التصريح عن مصفوفات البايتات باستخدام الدالة <code>bytearray()</code> حصرًا، ولا توجد طريقة أخرى. | * يكون التصريح عن مصفوفات البايتات باستخدام الدالة <code>bytearray()</code> حصرًا، ولا توجد طريقة أخرى. | ||
* لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة | * لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم [[Python/sequence-operations|العمليات التي تُجرى على التسلسلات القابلة للتغيير]]، إضافةً إلى العمليات الشائعة والتي تُجرى على [[Python/bytes|البايتات]] ومصفوفات البايتات. | ||
== انظر أيضًا == | == انظر أيضًا == |
مراجعة 11:56، 18 مايو 2018
مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات البايتات bytes.
يُعيد الصّنف bytearray()
(والذي يُعامَل مُعاملة الدّالة) مصفوفة بايتات جديدة، ويكون الصّنف تسلسُلًا قابلًا للتّغيير يحتوي على الأعداد الصّحيحة ضمن المدى 0 <= x < 256
. ويملك مُعظم التّوابع التي تملكها التّسلسلات الأخرى (كالقوائم والصّفوف مثلًا)، والمشروحة في صفحة أنواع التسلسلات القابلة للتّغيير، إضافةً إلى امتلاك مُعظم التّوابع التي يملكها النّوع bytes، انظر عمليّات البايتات.
البنية العامة
bytearray([source[, encoding[, errors]]])
المعاملات
source
مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة:
- إن كان سلسلةً نصيّة، فيجب تمرير قيمة للمعامل
encoding
(وقيمة للمُعاملerrors
اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابعstr.encode()
. - إن كان عددًا صحيحًا، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة.
- إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات.
- إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة.
encoding
ترميز المحارف إن كانت قيمة المُعامل source
سلسلةً نصيّة.
errors
يُحدّد طريقة التّعامل مع أخطاء ترميز المحارف.
القيمة المعادة
تعيد الدالة ()bytearray
مصفوفة جديدة من البايتات، وهي تسلسل من الأعداد الصحيحة قابل للتغيير ضمن المدى 0 <= x < 256
.
إن لم تُحدّد أية مُعاملات للصّنف، فستُعاد مصفوفة حجمها صفر.
أمثلة
الأمثلة التّالية تُوضّح كيفيّة استعمال هذا الصّنف:
>>> bytearray('ABCD', 'UTF-8') # مصفوفة بايتات من سلسلة نصيّة
bytearray(b'ABCD')
>>> bytearray([1, 2, 3]) # مصفوفة بايتات من قائمة أعداد
bytearray(b'\x01\x02\x03')
>>> bytearray() # مصفوفة بايتات فارغة
bytearray(b'')
>>> bytearray(10) # مصفوفة بايتات فارغة ولها طول محدّد
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
ملاحظات
- يكون التصريح عن مصفوفات البايتات باستخدام الدالة
bytearray()
حصرًا، ولا توجد طريقة أخرى.
- لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة للتغيير، إضافةً إلى العمليات الشائعة والتي تُجرى على البايتات ومصفوفات البايتات.
انظر أيضًا
مصادر
- صفحة Built-in Types في توثيق بايثون الرسمي.
- قسم الدالة bytearray في صفحة Functions في توثيق Python الرسمي.