الدالة bytes.find()
في بايثون
تعيد الدالة find()
أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.
البنية العامة
b.find()
المعاملات
sub
التسلسل الفرعي المراد معرفة موقعه، ويمكن أن يكون أيّ كائن شبيه بالبايتات (bytes-like objects)، أو عددًا صحيحًا من 0
إلى 255
.
start
الموقع الذي تبدأ منه الدالة عملية البحث ضمن البيانات الثنائية.
end
الموقع الذي تنهي فيه الدالة عملية البحث ضمن البيانات الثنائية.
يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing.
القيمة المعادة
تعيد الدالة أدنى قيمة للفهرس في البيانات الثنائية حيث يكون التسلسل الفرعي sub
موجودًا في الجزء المقتطع من البيانات الثنائية s[start:end]
، وتعيد القيمة -1
في حال عدم العثور على التسلسل الفرعي.
أمثلة
يوضّح المثال التالي النتائج المعادة من الدالة find()
:
>>> bytes = b'Python'
>>> bytes.find(b'Py')
0
>>> bytes.find(b'n')
5
>>> bytes.find(b'p')
-1
ملاحظة
يستخدم التابع find()
لمعرفة موقع التسلسل الفرعي فقط. وللتأكد من وجود التسلسل الفرعي ضمن البيانات الثنائية الأصلية يجب استخدام العامل in
:
>>> b'Py' in b'Python'
True