تقنية

bytearray.translate في بايثون: هل تغير الأصل عند الحذف؟

حذف كل a يعطي bytearray(b"b") في النتيجة.
النتيجة.

bytearray قابلة للتغيير، لكن translate تعيد نسخة. [1]

الخلاصة السريعة

لا؛ الحذف هنا يغير النتيجة، لا الأصل. [1]

  • bytearray قابلة للتغيير، لكن translate تعيد نسخة. [1]
  • للحذف فقط نمرر None للجدول؛ delete تحدد البايتات المحذوفة، بكل تكراراتها. [1]
  • مثال مؤلف على CPython 3.12.14: a=bytearray(b"aba")؛ alias=a؛ r=a.translate(None,b"a"). [1]
  • r تساوي bytearray(b"b")؛ a وalias بقيتا bytearray(b"aba")؛ alias is a تعطي True. [1]
  • تحكم: a.translate(None,b"x") تعيد القيمة الأصلية في مثالنا، بكائن آخر أيضًا. [1]

قابلية التغيير

bytearray قابلة للتغيير، لكن translate تعيد نسخة. [1]

حذف بلا استبدال

للحذف فقط نمرر None للجدول؛ delete تحدد البايتات المحذوفة، بكل تكراراتها. [1]

الأصل والاسم الثاني

مثال مؤلف على CPython 3.12.14: a=bytearray(b"aba")؛ alias=a؛ r=a.translate(None,b"a"). [1]

a.translate(None,b"a") -> bytearray(b"b") [1]

a وalias يحتفظان بالأصل aba؛ الاسم الثاني للكائن نفسه.
الأصل.

النتيجة والتحكم

r تساوي bytearray(b"b")؛ a وalias بقيتا bytearray(b"aba")؛ alias is a تعطي True. [1]

a.translate(None,b"x") -> bytearray(b"aba") [1]

تحكم: a.translate(None,b"x") تعيد القيمة الأصلية في مثالنا، بكائن آخر أيضًا. [1]

المراجع

  1. Python — bytearray.translate

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.