بايثونالدالة index()
تعريفها
تبحث في النص الذي قام باستدعائها عن رقم أول خانة يوجد عندها النص الذي نمرره لها مكان الباراميتر sub
و ترجعه.
الفرق بينها و بين الدالة find()
أنه في حال لم يتم العثور على النص المراد البحث عنه فإنها ترمي الإستثناء ValueError.
بناؤها
index(sub[, start[, end]])
باراميترات
sub
عبارة عن نص عادي نوعهstr
و هو النص الذي نريد البحث عنه.start
باراميتر إختياري، مكانه يمكن تمرير رقم الخانة التي سيتم بدء البحث من عندها.end
باراميتر إختياري، مكانه يمكن تمرير رقم الخانة التي سيتم إيقاف البحث قبلها.
قيمة الإرجاع
ترجع رقم أول خانة في النص الذي قام باستدعائها يوجد عندها النص الذي نمرره لها مكان الباراميتر sub
.
في حال لم يتم العثور على النص المراد البحث عنه فإنها ترمي الإستثناء ValueError.
مثال
# s هنا قمنا بتعريف متغير نصي إسمه s = 'Python is a programming language. Python is easy to learn.' # و بالتالي سيتم طباعة 0 'P' يوجد عندها النص s هنا قمنا بطباعة رقم أول خانة في المتغير print(s.index('P')) # و بالتالي سيتم طباعة 0 'Python' يوجد عندها النص s هنا قمنا بطباعة رقم أول خانة في المتغير print(s.index('Python')) # مع الإشارة إلى أننا بدأنا عملية البحث من الخانة رقم 10 و بالتالي سيتم طباعة 34 'Python' يوجد عندها النص s هنا قمنا بطباعة رقم أول خانة في المتغير print(s.index('Python', 10)) # ValueError و بما أنه لا يوجد هذه الكلمة سيتم إظهار خطأ بعنوان 'Java' يوجد عندها النص s هنا قمنا بطباعة رقم أول خانة في المتغير print(s.index('Java'))
النتيجة
0
34
ValueError: substring not found