الفرق بين المراجعتين ل"Python/bytearray"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (إضافة فاصلة :))
(إضافة الصّفحة)
سطر 2: سطر 2:
 
مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات [[Python/bytes|البايتات bytes]].
 
مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات [[Python/bytes|البايتات bytes]].
  
يكون التصريح عن مصفوفات البايتات باستخدام الدالة <code>bytearray()‎</code> حصرًا، ولا توجد طريقة أخرى:<syntaxhighlight lang="python3">
+
يُعيد الصّنف <code>bytearray()‎</code> (والذي يُعامَل مُعاملة الدّلة) مصفوفة بايتات جديدة، ويكون الصّنف تسلسُلًا قابلًا للتّغيير يحتوي على الأعداد الصّحيحة ضمن المدى ‎<code>0 <= x < 256</code>. ويملك مُعظم التّوابع التي تملكها التّسلسلات الأخرى (كالقوائم والصّفوف مثلًا)، والمشروحة في صفحة أنواع التسلسلات القابلة للتّغيير، إضافةً إلى امتلاك  مُعظم التّوابع التي يملكها النّوع bytes، انظر عمليّات البايتات.
 +
 
 +
== البنية العامة ==
 +
<syntaxhighlight lang="python3">
 +
bytearray([source[, encoding[, errors]]])
 +
</syntaxhighlight>
 +
 
 +
== المعاملات ==
 +
=== <code>source</code> ===
 +
مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة:
 +
- إن كان سلسلةً نصيّة، فيجب تمرير قيمة للمعامل <code>encoding</code> (وقيمة للمُعامل <code>errors</code> اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابع <code>str.encode()‎</code>.
 +
- إن كان عددًا صحيحًا، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة.
 +
- إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات.
 +
- إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة.
 +
 
 +
=== <code>encoding</code> ===
 +
ترميز المحارف إن كانت قيمة المُعامل <code>source</code> سلسلةً نصيّة.
 +
 
 +
=== <code>errors</code> ===
 +
يُحدّد طريقة التّعامل مع أخطاء ترميز المحارف.
 +
 
 +
== القيمة المعادة ==
 +
تعيد الدالة <code>()bytearray</code> مصفوفة جديدة من البايتات، وهي تسلسل من [[Python/int|الأعداد الصحيحة]] قابل للتغيير ضمن المدى <code>0 <= x < 256</code>.
 +
 
 +
إن لم تُحدّد أية مُعاملات للصّنف، فستُعاد مصفوفة حجمها صفر.
 +
 
 +
== أمثلة ==
 +
المثال التّالي يُوضّح كيفيّة استعمال هذا الصّنف:
 +
<syntaxhighlight lang="python3">
 +
>>> bytearray('ABCD', 'UTF-8')
 +
bytearray(b'ABCD')
 +
>>> bytearray([1, 2, 3])
 +
bytearray(b'\x01\x02\x03')
 +
>>> bytearray(15)
 +
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
 
>>> bytearray() # مصفوفة بايتات فارغة
 
>>> bytearray() # مصفوفة بايتات فارغة
 
bytearray(b'')
 
bytearray(b'')
 
>>> bytearray(10) # مصفوفة بايتات فارغة ولها طول محدّد
 
>>> bytearray(10) # مصفوفة بايتات فارغة ولها طول محدّد
 
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
 
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
</syntaxhighlight>تعيد الدالة <code>()bytearray</code> مصفوفة جديدة من البايتات، وهي تسلسل من [[Python/str|الأعداد الصحيحة]] قابل للتغيير ضمن المدى ‎<code>0 <= x < 256</code>.
+
</syntaxhighlight>
 +
 
 +
==ملاحظات==
 +
* يكون التصريح عن مصفوفات البايتات باستخدام الدالة <code>bytearray()</code> حصرًا، ولا توجد طريقة أخرى
 +
 
 +
* لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة للتغيير، إضافةً إلى العمليات الشائعة والتي تُجرى على [[Python/bytes|البايتات]] ومصفوفات البايتات.
  
لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة للتغيير، إضافةً إلى العمليات الشائعة والتي تُجرى على [[Python/bytes|البايتات]] ومصفوفات البايتات.
+
== انظر أيضًا ==
 +
* [[Python/bytes|البايتات في بايثون]].
  
 
== مصادر ==
 
== مصادر ==
 
* صفحة [https://docs.python.org/3/library/stdtypes.html#binary-sequence-types-bytes-bytearray-memoryview Built-in Types] في توثيق بايثون الرسمي.
 
* صفحة [https://docs.python.org/3/library/stdtypes.html#binary-sequence-types-bytes-bytearray-memoryview Built-in Types] في توثيق بايثون الرسمي.
 +
* [https://docs.python.org/3/library/functions.html#func-bytearray قسم الدالة bytearray في صفحة Functions في توثيق Python الرسمي].
 
[[تصنيف:Python]]
 
[[تصنيف:Python]]
 
[[تصنيف:Python Types]]
 
[[تصنيف:Python Types]]
 +
[[تصنيف:Python Function]]
 +
[[تصنيف:Python Built-in Functions]]

مراجعة 18:35، 19 أبريل 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(15)
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
>>> bytearray() # مصفوفة بايتات فارغة
bytearray(b'')
>>> bytearray(10) # مصفوفة بايتات فارغة ولها طول محدّد
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

ملاحظات

  • يكون التصريح عن مصفوفات البايتات باستخدام الدالة bytearray()‎ حصرًا، ولا توجد طريقة أخرى
  • لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة للتغيير، إضافةً إلى العمليات الشائعة والتي تُجرى على البايتات ومصفوفات البايتات.

انظر أيضًا

مصادر