الفرق بين المراجعتين لصفحة: «Python/bytes/find»

من موسوعة حسوب
< Python‏ | bytes
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.find()‎</code> في بايثون}}</noinclude> تعيد الدالة <code>find()</code>‎ أدنى قيمة للف...'
 
لا ملخص تعديل
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.find()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.find()‎</code> في بايثون}}</noinclude>
تعيد الدالة <code>find()</code>‎ أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.
يعيد التابع <code>find()</code>‎ أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
b.find()
bytes.find(sub[, start[, end]])
</syntaxhighlight>
</syntaxhighlight>


سطر 13: سطر 13:


=== <code>start</code> ===
=== <code>start</code> ===
الموقع الذي تبدأ منه الدالة عملية البحث ضمن البيانات الثنائية.
الموقع الذي يبدأ منه التابع عملية البحث ضمن البيانات الثنائية.


=== <code>end</code> ===
=== <code>end</code> ===
الموقع الذي تنهي فيه الدالة عملية البحث ضمن البيانات الثنائية.
الموقع الذي ينهي فيه التابع عملية البحث ضمن البيانات الثنائية.


يسلك هذان المعاملان نفس السلوك المتّبع في عملية [[Python/str#.D8.A7.D9.82.D8.AA.D8.B7.D8.A7.D8.B9 .D8.A7.D9.84.D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9|اقتطاع السلاسل النصية slicing]].
يسلك هذان المعاملان نفس السلوك المتّبع في عملية [[Python/str#.D8.A7.D9.82.D8.AA.D8.B7.D8.A7.D8.B9 .D8.A7.D9.84.D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9|اقتطاع السلاسل النصية slicing]].


== القيمة المعادة ==
== القيمة المعادة ==
تعيد الدالة أدنى قيمة للفهرس في البيانات الثنائية حيث يكون التسلسل الفرعي <code>sub</code> موجودًا في الجزء المقتطع من البيانات الثنائية <code>s[start:end]‎</code>، وتعيد القيمة ‎<code>-1</code> في حال عدم العثور على التسلسل الفرعي.
يعيد التابع أدنى قيمة للفهرس في البيانات الثنائية حيث يكون التسلسل الفرعي <code>sub</code> موجودًا في الجزء المقتطع من البيانات الثنائية <code>s[start:end]‎</code>، ويعيد القيمة ‎<code>-1</code> في حال عدم العثور على التسلسل الفرعي.


== أمثلة ==
== أمثلة ==
يوضّح المثال التالي النتائج المعادة من الدالة <code>find()‎</code>:
يوضّح المثال التالي النتائج المعادة من التابع <code>find()‎</code>:


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
سطر 46: سطر 46:
== انظر أيضًا ==
== انظر أيضًا ==
* [[Python/bytes|البايتات في بايثون.]]
* [[Python/bytes|البايتات في بايثون.]]
* التابع <code>[[Python/bytes/index|bytes.index()‎]]</code>: يؤدي هذا التابع نفس وظيفة التابع <code>bytes.find()‎</code> ولكنّه يطلق الخطأ <code>ValueError</code> إن لم يعثر على التسلسل الفرعي.
* التابع <code>[[Python/bytes/rfind|bytes.rfind()‎]]</code>: إعادة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي.
* التابع <code>[[Python/bytes/rindex|bytes.rindex()‎]]</code>: يشبه التابع <code>[[Python/bytes/rfind|bytes.rfind()‎]]</code> في أنّه يحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، ويختلف عنه في أنّه يطلق الخطأ <code>ValueError</code> إن لم يعثر على التسلسل الفرعي.


== مصادر ==
== مصادر ==

المراجعة الحالية بتاريخ 08:01، 5 يونيو 2018

يعيد التابع find()‎ أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.

البنية العامة

bytes.find(sub[, start[, end]])

المعاملات

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

انظر أيضًا

  • البايتات في بايثون.
  • التابع bytes.index()‎: يؤدي هذا التابع نفس وظيفة التابع bytes.find()‎ ولكنّه يطلق الخطأ ValueError إن لم يعثر على التسلسل الفرعي.
  • التابع bytes.rfind()‎: إعادة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي.
  • التابع bytes.rindex()‎: يشبه التابع bytes.rfind()‎ في أنّه يحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، ويختلف عنه في أنّه يطلق الخطأ ValueError إن لم يعثر على التسلسل الفرعي.

مصادر