str.index() البحث عن سلسلة فرعية (خطأ إذا لم تُوجد)

آخر تحديث: 2026-09-22

str.index() البحث عن سلسلة فرعية (خطأ إذا لم تُوجد)

str.index(sub) تشبه find()، لكنها ترفع ValueError عند عدم العثور عليها.

التصنيفدوال النصوص
النوعدوال الأنواع المدمجة
إصدار بايثونall

📝 الصياغة

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

⚙️ المعاملات

sub مطلوبThe substring to search for.
start اختياريStart index of the range (inclusive); None means the beginning.(القيمة الافتراضية:None)
end اختياريEnd index of the range (exclusive); None means the end.(القيمة الافتراضية:None)

القيمة المُعادة:int. The lowest index where sub is found; raises ValueError if absent.

يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

2
not found: substring not found
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qما الفرق بين index() و find()؟
Aسلوكهما متطابق تقريبًا، مع فرق واحد: عندما لا يُعثر على السلسلة، يُرجع find() القيمة -1 بينما يُثير index() خطأ ValueError: substring not found.
Qمتى يجب أن أستخدم index()؟
Aاستخدم index() عندما «يجب أن توجد» السلسلة الفرعية ويكون عدم العثور عليها خطأ منطقيًا، ليكشف الاستثناء المشكلة فورًا؛ وإلا فإن find() أكثر أمانًا.
Qكيف أتجنب أن يُثير index() استثناءً؟
Aتحقق أولًا باستخدام in: if 'll' in s: print(s.index('ll'))؛ أو التقط ValueError باستخدام try/except.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%