ما هي القيمة المنطقية (Boolean)؟
القيمة المنطقية (boolean) في البرمجة نوع بيانات له قيمتان فقط: صواب (true) وخطأ (false). تحصل البرامج على القيم المنطقية من مقارنات مثل age >= 18، وتستخدمها لتقرر أي كود يُنفَّذ، في جمل if وشروط الحلقات.
آخر تحديث 24 سبتمبر 2026
كل قرار يتخذه البرنامج يرجع إلى سؤال له جوابان محتملان: هل كلمة المرور صحيحة؟ هل سلة المشتريات فارغة؟ هل وصل المؤقت إلى الصفر؟ والقيمة المنطقية (boolean) هي نوع البيانات الذي يحمل هذه الأجوبة. وقد سُمّيت باسم جورج بول (George Boole)، عالم الرياضيات الإنجليزي الذي وصف جبرًا لقيم الصواب والخطأ في كتابين نُشرا عامي 1847 و1854.
من أين تأتي القيم المنطقية
نادرًا ما تكتب True أو False مباشرة. معظم القيم المنطقية تنتج عن المقارنات، التي تطرح سؤالًا عن قيمتين وتجيب بقيمة منطقية:
| العامل | المعنى | مثال | النتيجة |
|---|---|---|---|
== | يساوي | 3 == 3 | True |
!= | لا يساوي | 3 != 3 | False |
<, > | أصغر من، أكبر من | 2 < 5 | True |
<=, >= | على الأكثر، على الأقل | 17 >= 18 | False |
يمكن تخزين القيمة المنطقية في متغير مثل أي قيمة أخرى، ودمجها مع قيم منطقية أخرى:
False
<class 'bool'>
False
True
دمج القيم المنطقية: and وor وnot
ثلاثة عوامل منطقية تبني شروطًا أكبر من شروط أصغر. and صواب فقط عندما يكون الطرفان صوابًا. وor صواب عندما يكون طرف واحد على الأقل صوابًا. وnot يعكس قيمة واحدة.
a | b | a and b | a or b | not a |
|---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
False | True | False | True | True |
False | False | False | False | True |
تكتب Python هذه العوامل كلمات. أما C وJava وJavaScript فتستخدم رموزًا: && لـ and، و|| لـ or، و! لـ not. واللغات الأربع كلها تتوقف عن التقييم بمجرد أن يُعرف الجواب، ففي a and b لا يُفحص الطرف الأيمن أبدًا إذا كان a خطأ. ويُسمّى هذا التقييم المختصر (short-circuit evaluation). ويشرحه دليل العوامل المنطقية في Python بالتفصيل.
كيف تتحكم القيم المنطقية في البرنامج
جملة if تنفّذ كتلتها فقط عندما يكون شرطها صوابًا. وحلقة while تكرر كتلتها ما دام شرطها صوابًا، فكل حلقة تقودها قيمة منطقية تُفحص من جديد قبل كل دورة. وهذه الإعادة هي ما يُسمّى التكرار (iteration).
Hot day
Countdown: 3
Countdown: 2
Countdown: 1
عندما يصل count إلى 0، يصبح الشرط count > 0 مساويًا لـ False وتنتهي الحلقة. ولو كان الشرط لا يمكن أن يصبح خطأ أبدًا، لاستمرت الحلقة إلى الأبد.
القيم المنطقية بوصفها 1 و0
لا تحتاج القيمة المنطقية إلا إلى بت واحد من المعلومات: 1 للصواب و0 للخطأ. لكن اللغات عمليًا تخزّن القيمة المنطقية في بايت كامل على الأقل، لأن البايت أصغر وحدة ذاكرة لها عنوان خاص. في C، يشغل bool من <stdbool.h> بايتًا واحدًا مع gcc وclang. والبرامج التي تحتاج إلى ملايين الأعلام (flags) تحزم ثمانية منها في كل بايت باستخدام العوامل الثنائية (bitwise).
وتختلف اللغات في ما إذا كانت القيمة المنطقية عددًا أيضًا. في Python، النوع bool صنف فرعي من int، لذا يساوي True العدد 1 ويساوي False العدد 0. وهذا يجعل العدّ سهلًا:
True True
2
3 correct
وتعطي JavaScript أيضًا 2 للتعبير true + true. ولم يكن في C نوع منطقي حتى معيار C99، وما زالت تعدّ أي عدد غير الصفر صوابًا. أما Java فصارمة: if (1) لا يُترجَم، لأن الشرط في Java يجب أن يكون من نوع boolean.
القيم التي تُعد صوابًا والقيم التي تُعد خطأ
تسمح Python وJavaScript باستخدام أي قيمة كشرط، لا True وFalse فقط. القيم التي تُعد خطأ تُسمّى falsy، وكل ما عداها truthy.
0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False
في Python، الصفر والسلاسل النصية الفارغة والمجموعات الفارغة وNone كلها falsy. أما السلسلة "False" فهي truthy، لأنها سلسلة نصية فيها خمسة أحرف. ولـ JavaScript قيمها الخاصة التي تُعد خطأ، ومنها false و0 و"" وnull وundefined وNaN، وفيها تُعد المصفوفة الفارغة [] قيمة truthy. راجع truthy وfalsy في JavaScript للقواعد الكاملة.
أخطاء شائعة
المقارنة بـ True. يعمل if is_ready == True:، لكن if is_ready: يقول الشيء نفسه بكلام أقل. وللحالة المعاكسة، اكتب if not is_ready:.
معاملة النص كقيمة منطقية. المدخلات من المستخدم أو من ملف أو نموذج تصل كسلسلة نصية، لذا فإن bool("false") يساوي True. قارن النص بدلًا من ذلك: answer == "yes".
حالة الأحرف الخاطئة. تكتب Python True وFalse؛ بينما تكتب JavaScript وJava وC true وfalse. وكتابة true في Python تعطي NameError: name 'true' is not defined.
الأسماء الغامضة. سمِّ القيمة المنطقية كسؤال جوابه نعم أو لا، مثل is_valid أو has_access أو can_edit، حتى يُقرأ الشرط كجملة: if user.can_edit:.
إلى أين بعد ذلك
القيم المنطقية تحدد عدد مرات تنفيذ الحلقة، لذا فإن ما هو التكرار هي الصفحة التالية الطبيعية، وتُظهر صفحة ما هو البت الصفر والواحد تحت كل صواب وخطأ. ولتفاصيل Python، اقرأ الأعداد والقيم المنطقية، ثم تدرّب على الشروط في دورة Python.
الأسئلة الشائعة
ما هو مثال على القيمة المنطقية؟
5 > 3 تعبير منطقي، وقيمته True. ومتغير مثل is_logged_in = False يحمل قيمة منطقية. وفي فهرس مكتبة، البحث cats AND dogs استعلام منطقي (Boolean) يستخدم المنطق نفسه.هل القيمة المنطقية 1 أم 0؟
True == 1 مساويًا لـ True، وفي C يُعد أي عدد غير الصفر صوابًا. أما Java فتفصل بينهما: لا يمكن استخدام boolean في Java كعدد إطلاقًا.هل القيمة المنطقية مجرد نعم أو لا؟
ما هي القيمة المنطقية في Python؟
bool، وقيمتاه True وFalse، وتُكتبان بحرف كبير في أولهما. والنوع bool صنف فرعي من int، لذا يتصرف True كالعدد 1 في العمليات الحسابية. وتحوّل الدالة bool() أي قيمة إلى True أو False وفق قواعد Python في تقييم الصواب والخطأ.ما هو البحث المنطقي (Boolean search)؟
python AND tutorial وجود الكلمتين، ويقبل python OR java أيًّا منهما، ويستبعد python NOT snake الصفحات التي فيها الكلمة الثانية. تدعمه فهارس المكتبات وقواعد بيانات الأبحاث مباشرة، ويقبل Google العامل OR وعلامة الناقص بمعنى NOT.