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

من موسوعة حسوب
< Python‏ | bytes
لا ملخص تعديل
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.rindex()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.rindex()‎</code> في بايثون}}</noinclude>
تشبه الدالة <code>[[Python/bytes/rfind|bytes.rfind()‎]]</code> في أنّها تحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، وتختلف عنها في أنّها تطلق الخطأ <code>ValueError</code> إن لم تعثر على التسلسل الفرعي.
يشبه التابع <code>[[Python/bytes/rfind|bytes.rfind()‎]]</code> في أنّه يحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، ويختلف عنه في أنّه يطلق الخطأ <code>[[Python/built-in exceptions#ValueError|ValueError]]</code> إن لم يعثر على التسلسل الفرعي.


==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
b.rindex()
str.rindex(sub[, start[, end]])
</syntaxhighlight>
</syntaxhighlight>
==المعاملات==
==المعاملات==
سطر 10: سطر 10:
التسلسل الفرعي المراد معرفة موقعه. يمكن أن يكون هذا المعامل أي كائن شبيه بالبايتات (bytes-like object) أو [[Python/int|عددًا صحيحًا]] يبدأ من <code>0</code> وينتهي بالعدد <code>255</code>.
التسلسل الفرعي المراد معرفة موقعه. يمكن أن يكون هذا المعامل أي كائن شبيه بالبايتات (bytes-like object) أو [[Python/int|عددًا صحيحًا]] يبدأ من <code>0</code> وينتهي بالعدد <code>255</code>.
===<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>s[start:end]‎</code>‎.
يعيد التابع أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي، بحيث يكون التسلسل الفرعي ضمن النطاق <code>s[start:end]‎</code>‎.


تطلق الدالة الخطأ <code>ValueError</code> إن لم تعثر على التسلسل الفرعي.
يطلق التابع الخطأ <code>[[Python/built-in exceptions#ValueError|ValueError]]</code> إن لم يعثر على التسلسل الفرعي.
==أمثلة==
==أمثلة==
يبين المثال التالي النتائج المعادة من استخدام الدالة:<syntaxhighlight lang="python3">
يبين المثال التالي النتائج المعادة من استخدام التابع:<syntaxhighlight lang="python3">
>>> byte = b'Python, Python, Python'
>>> byte = b'Python, Python, Python'
>>> byte.rindex(b'Py')
>>> byte.rindex(b'Py')
سطر 41: سطر 41:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*[[Python/bytes/index|الدالة bytes.index()‎ في بايثون.]]
*[[Python/bytes|البايتات في بايثون.]]
*[[Python/bytes|البايتات في بايثون.]]
* التابع <code>[[Python/bytes/find|bytes.find()‎]]</code>: إعادة أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.
* التابع <code>[[Python/bytes/index|bytes.index()‎]]</code>: يؤدي هذا التابع نفس وظيفة التابع <code>bytes.find()‎</code> ولكنّه يطلق الخطأ <code>ValueError</code> إن لم يعثر على التسلسل الفرعي.
*التابع <code>[[Python/bytes/rfind|bytes.rfind()‎]]</code>: إعادة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي.
==مصادر==
==مصادر==
* [https://docs.python.org/3/library/stdtypes.html#bytes.rindex قسم rindex في صفحة Types في توثيق بايثون الرسمي.]
* [https://docs.python.org/3/library/stdtypes.html#bytes.rindex قسم rindex في صفحة Types في توثيق بايثون الرسمي.]

مراجعة 07:35، 9 يونيو 2018

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

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

str.rindex(sub[, start[, end]])

المعاملات

sub

التسلسل الفرعي المراد معرفة موقعه. يمكن أن يكون هذا المعامل أي كائن شبيه بالبايتات (bytes-like object) أو عددًا صحيحًا يبدأ من 0 وينتهي بالعدد 255.

start

الموقع الذي يبدأ منه التابع عملية البحث ضمن التسلسل الأصلي.

end

الموقع الذي ينهي فيه التابع عملية البحث ضمن التسلسل الأصلي.

يسلك هذان المعاملان الاختياريان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing.

القيمة المعادة

يعيد التابع أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي، بحيث يكون التسلسل الفرعي ضمن النطاق s[start:end]‎‎.

يطلق التابع الخطأ ValueError إن لم يعثر على التسلسل الفرعي.

أمثلة

يبين المثال التالي النتائج المعادة من استخدام التابع:

>>> byte = b'Python, Python, Python'
>>> byte.rindex(b'Py')
16
>>> byte.rindex(b'Py', 0, 10)
8
>>> byte.rindex(b'C++')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    byte.rindex(b'C++')
ValueError: subsection not found
>>> byte.rindex(44)
14
>>> byte.rindex(12)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    byte.rindex(12)
ValueError: subsection not found

انظر أيضًا

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

مصادر