str.isdigit() هل يحتوي على محارف رقمية فقط
آخر تحديث: 2026-09-22
str.isdigit() هل يحتوي على محارف رقمية فقط
str.isdigit() تُرجع True عندما تكون السلسلة غير فارغة وكل محرف فيها محرفًا رقميًا (بما في ذلك الأرقام Unicode).
| التصنيف | دوال النصوص |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | all |
📝 الصياغة
str.isdigit()
القيمة المُعادة:bool. True if non-empty and every char is a digit character.
يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
True
False
True
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الفرق بين isdigit() و isdecimal()؟
Aisdigit() أوسع ويشمل الأرقام المرتفعة: '²'.isdigit() تكون True، بينما '²'.isdecimal() تكون False. أما بالنسبة للأرقام العربية العادية فيُرجِع كلاهما True.
Qماذا تُرجع السلسلة الفارغة؟
Aتُرجع False، لأن isdigit() تتطلب سلسلة غير فارغة.
Qوماذا عن الأرقام السالبة أو السلاسل التي تحتوي على علامة عشرية؟
A'-1'.isdigit() و '3.14'.isdigit() كلاهما False، لأن علامة الطرح والعلامة العشرية ليستا حرفي رقم.
Qهل تُعد الأرقام الصينية حروفًا رقمية؟
A'一二三'.isdigit() تكون False (لكن isnumeric() تكون True). أما الأرقام الهندية العربية مثل '١٢٣'.isdigit() فتُرجع True.