if الشرط الشرطي
آخر تحديث: 2026-09-22
if الشرط الشرطي
if يختار فرع التنفيذ بناءً على صحة الشرط أو خطئه؛ ويمكن دمجه مع elif وelse.
| التصنيف | الكلمات المفتاحية والعبارات |
|---|---|
| النوع | كلمة مفتاحية / عبارة |
| إصدار بايثون | all |
📝 الصياغة
if condition:
block
[elif condition:
block]*
[else:
block]
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
positive
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qكتبت `if` و`elif`، وكلتا الحالتين صادقتان، فلماذا يُنفَّذ فرع واحد فقط؟
Aيتم تقييم `if`/`elif` من الأعلى إلى الأسفل؛ بمجرد الوصول إلى أول فرع صادق يتوقف الفحص عن البقية. إذا أردت التحقق من عدة شروط بشكل مستقل، اكتب عدة `if` منفصلة بدلاً من `elif`.
Qهل تحتاج الحالة بعد `if` إلى أقواس؟
Aلا. في بايثون توضع الحالة مباشرة بعد `if` ويجب أن تنتهي بنقطتين، على سبيل المثال `if x > 0:`. تذكّر أن مساواة القيم تختبر بـ `==`؛ أما `=` فهو إسناد ويُحدث `SyntaxError`.
Qفي `if x:`، متى يكون `x` صادقًا (truthy)؟
Aتستخدم بايثون «قيمة الصدق» الخاصة بـ `x` كحالة: `0` و`0.0` والسلاسل الفارغة والقوائم الفارغة والقواميس الفارغة و`None` وما شابه تكون كاذبة (falsy)؛ وكل ما عدا ذلك يكون صادقًا. إذن `if x:` يعادل «x غير فارغ / غير صفري / ليس None».
Qلماذا يحدث `IndentationError` عندما لا توجد عبارة تحت `if`؟
Aلأن بايثون تستخدم المسافات البادئة لتحديد كتل الكود، يجب أن يتبع `if` عبارة واحدة مسطّرة على الأقل. إذا لم تكن مستعدًا لكتابة المنطق بعد، ضع `pass` كمكان شاغر.