تقنية

bytes.find في بايثون: هل العدد 98 يعني البحث عن "98"؟

قيمة البايت 98 موجودة عند الفهرس 1.
القيمة وموضعها.

العدد هنا قيمة بايت، وليس كتابة أرقامه. [1]

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

لا؛ 98 تبحث عن بايت واحد، وb"98" عن بايتين. [1]

  • العدد هنا قيمة بايت، وليس كتابة أرقامه. [1]
  • bytes.find تقبل عددًا صحيحًا من 0 إلى 255 منذ بايثون 3.3؛ تعيد أول موضع، أو -1 عند الغياب. [1]
  • مثال مؤلف على CPython 3.12.14: b=b"ab"؛ بايتاتها [97,98]، وفهرساهما 0 و1. [1]
  • b.find(98) تعطي 1؛ b.find(b"98") تعطي -1؛ بايتا كتابة العدد هما [57,56]، ولا يظهران هنا. [1]
  • تحكم: b.find(b"b") تعطي 1 أيضًا؛ b.find(256) ترفع ValueError لخروج العدد عن المدى؛ بقيت b كما كانت. [1]

قيمة وليست كتابة

العدد هنا قيمة بايت، وليس كتابة أرقامه. [1]

المدى والنتيجة

bytes.find تقبل عددًا صحيحًا من 0 إلى 255 منذ بايثون 3.3؛ تعيد أول موضع، أو -1 عند الغياب. [1]

بايتان وفهرسان

مثال مؤلف على CPython 3.12.14: b=b"ab"؛ بايتاتها [97,98]، وفهرساهما 0 و1. [1]

b.find(98) -> 1 [1]

كتابة 98 بايتان قيمتاهما 57 و56؛ البحث يعيد -1.
كتابة مختلفة.

الفرق والتحكم

b.find(98) تعطي 1؛ b.find(b"98") تعطي -1؛ بايتا كتابة العدد هما [57,56]، ولا يظهران هنا. [1]

b.find(b"98") -> -1 [1]

تحكم: b.find(b"b") تعطي 1 أيضًا؛ b.find(256) ترفع ValueError لخروج العدد عن المدى؛ بقيت b كما كانت. [1]

المراجع

  1. Python — bytes.find

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

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