الفرق بين المراجعتين ل"Python/boolean"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إنشاء صفحة القيم المنطقية في بايثون)
 
ط (استبدال النص - 'Python/bool-operations' ب'Python/bool_operations')
(10 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
= القيم المنطقية في بايثون =
+
<noinclude>{{DISPLAYTITLE:القيم المنطقية في بايثون}}</noinclude>
القيمتان المنطقيتان (البوليانيتان) اللتان تدعمهما بايثون هما <code>True</code> و <code>False</code> وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) للنوع integer، وتسلك القيمتان <code>False</code> و <code>True</code> سلوك القيمتين <code>0</code> و <code>1</code> على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان <code>"False"</code> و <code>"True"</code> على التوالي.
+
القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما <code>True</code> و <code>False</code> وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) من [[Python/int|الأعداد الصحيحة]]، وتسلك القيمتان <code>False</code> و <code>True</code> سلوك القيمتين <code>0</code> و <code>1</code> على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى [[Python/str|سلاسل نصية]]، فتعاد حينئذ السلسلتان النصيتان <code>"False"</code> و <code>"True"</code> على التوالي.<syntaxhighlight lang="python3" line="1">
 
 
مثال:<syntaxhighlight lang="python3" line="1">
 
 
>>> foo = True  
 
>>> foo = True  
 
>>> bar = False
 
>>> bar = False
سطر 9: سطر 7:
  
 
== اختبار القيمة الصحيحة ==
 
== اختبار القيمة الصحيحة ==
يمكن اختبار أي كائن لمعرفة القيمة الصحيحة وذلك لاستخدامه كشرط في عبارة <code>if</code> أو <code>while</code> أو كمعامل للعوامل المنطقية.
+
يمكن اختبار أي كائن لمعرفة القيمة الصحيحة وذلك لاستخدامه كشرط في عبارة <code>[[Python/if|if]]</code> أو <code>[[Python/while|while]]</code> أو كمعامل [[Python/bool_operations|للعوامل المنطقية]].
  
تعدّ اللغة الكائن صحيحًا بصورة افتراضية إلا إذا كان صنفه يعرّف التابع ‎<code>__bool__()‎</code> الذي يعيد القيمة <code>False</code> أو تابع <code>‎__len__()</code>‎‎ يعيد القيمة (صفر) عند استدعائه مع الكائن.
+
تعدّ بايثون الكائن صحيحًا بصورة افتراضية إلا إذا كان صنفه يعرّف التابع ‎<code>__bool__()‎</code> الذي يعيد القيمة <code>False</code> أو تابع <code>‎__len__()</code>‎‎ يعيد القيمة «صفر» عند استدعائه مع الكائن.
  
 
فيما يلي قائمة بالكائنات الداخلية التي تعدّها اللغة <code>False</code>:
 
فيما يلي قائمة بالكائنات الداخلية التي تعدّها اللغة <code>False</code>:
 +
* الثوابت المعرّفة على أنّها خطأ: وهي <code>None</code> و <code>False</code>.
 +
* الصفر في أي نوع عددي: <code>0</code>، أو <code>0.0</code>، أو <code>‎Fraction(0,1)</code>‎، أو <code>Decimal(0)</code>‎، أو <code>0j</code>.
 +
* التسلسلات والمجموعات الفارغة: <code><nowiki>''</nowiki></code>، أو <code>()</code>، أو <code>[]</code>، أو <code>{}</code>، أو <code>range(0)</code>‎، أو <code>set()</code>‎.
 +
تعيد العمليات والدوالّ الداخلية التي تمتلك نتائج منطقية (بوليانية) دائمًا القيمة <code>0</code> أو <code>False</code> للخطأ، وتعيد <code>1</code> أو <code>True</code> للقيم الصحيحة، إلا إذا صُرّح بغير ذلك (باستثناء [[Python/bool_operations|العمليتان المنطقيتان]] <code>or</code> و <code>and</code> اللتان تعيدان دائمًا واحدًا من عواملهما فقط، وتعرف هذه الحالة بالدارة القصيرة short-circuit. للمزيد من المعلومات راجع [[Python/bool_operations|العمليات المنطقية]]).
  
<nowiki>*</nowiki> الثوابت المعرّفة على أنّها خطأ: وهي <code>None</code> و <code>False</code>.
+
يمكن استخدام الدالة الداخلية <code>[[Python/bool|bool()]]‎</code> لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه.
  
<nowiki>*</nowiki> الصفر في أي نوع عددي: <code>0</code>، أو <code>0.0</code>، أو <code>‎Fraction(0,1)</code>‎، أو <code>Decimal(0)</code>‎، أو <code>0j</code>.
+
== أمثلة ==
 +
أمثلة نموجية عمّا تعدّة لغة بايثون على أنه <code>True</code>، وما تعدّه على أنَّه <code>False</code>:<syntaxhighlight lang="python3">
 +
>>> bool(2)
 +
True
 +
>>> bool("Python")
 +
True
 +
>>> bool(0)
 +
False
 +
>>> bool()
 +
False
 +
>>> bool(None)
 +
False
  
<nowiki>*</nowiki> التسلسلات والمجموعات الفارغة: <code><nowiki>''</nowiki></code>، أو <code>()</code>، أو <code>[]</code>، أو <code>{}</code>، أو <code>range(0)</code>‎، أو <code>set()</code>‎.
+
</syntaxhighlight>
 
 
تعيد العمليات والدوالّ الداخلية التي تمتلك نتائج منطقية (بوليانية) دائمًا القيمة <code>0</code> أو <code>False</code> للخطأ، وتعيد <code>1</code> أو <code>True</code> للقيم الصحيحة، إلا إذا صُرّح بغير ذلك (باستثناء العمليتان المنطقيتان <code>or</code> و <code>and</code> اللتان تعيدان دائمًا واحدًا من عواملهما فقط، وتعرف هذه الحالة بالدارة القصيرة short-circuit. للمزيد من المعلومات راجع العمليات المنطقية).
 
  
يمكن استخدام الدالة الداخلية <code>bool()‎</code> لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه.
+
== انظر أيضًا ==
 +
* الدالة <code>[[Python/bool|bool()‎]]</code>: تعيد قيمةً منطقيّةً تكون إمّا <code>True</code> أو <code>False</code>.
 +
* [[Python/int|الأعداد الصحيحة int في بايثون]].
 +
* [[Python/str|السلاسل النصية str في بايثون]].
  
 
= مصادر =
 
= مصادر =
صفحتا [https://docs.python.org/3/reference/datamodel.html Data Model] و [https://docs.python.org/3/library/stdtypes.html#truth-value-testing Built-in Types] في توثيق بايثون الرسمي.
+
* صفحتا [https://docs.python.org/3/reference/datamodel.html Data Model] و [https://docs.python.org/3/library/stdtypes.html#truth-value-testing Built-in Types] في توثيق بايثون الرسمي.
 
[[تصنيف:Python]]
 
[[تصنيف:Python]]
 
[[تصنيف:Python Types]]
 
[[تصنيف:Python Types]]

مراجعة 14:59، 29 مايو 2018

القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما True و False وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) من الأعداد الصحيحة، وتسلك القيمتان False و True سلوك القيمتين 0 و 1 على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان "False" و "True" على التوالي.

1 >>> foo = True 
2 >>> bar = False

اختبار القيمة الصحيحة

يمكن اختبار أي كائن لمعرفة القيمة الصحيحة وذلك لاستخدامه كشرط في عبارة if أو while أو كمعامل للعوامل المنطقية.

تعدّ بايثون الكائن صحيحًا بصورة افتراضية إلا إذا كان صنفه يعرّف التابع ‎__bool__()‎ الذي يعيد القيمة False أو تابع ‎__len__()‎‎ يعيد القيمة «صفر» عند استدعائه مع الكائن.

فيما يلي قائمة بالكائنات الداخلية التي تعدّها اللغة False:

  • الثوابت المعرّفة على أنّها خطأ: وهي None و False.
  • الصفر في أي نوع عددي: 0، أو 0.0، أو ‎Fraction(0,1)‎، أو Decimal(0)‎، أو 0j.
  • التسلسلات والمجموعات الفارغة: ''، أو ()، أو []، أو {}، أو range(0)‎، أو set()‎.

تعيد العمليات والدوالّ الداخلية التي تمتلك نتائج منطقية (بوليانية) دائمًا القيمة 0 أو False للخطأ، وتعيد 1 أو True للقيم الصحيحة، إلا إذا صُرّح بغير ذلك (باستثناء العمليتان المنطقيتان or و and اللتان تعيدان دائمًا واحدًا من عواملهما فقط، وتعرف هذه الحالة بالدارة القصيرة short-circuit. للمزيد من المعلومات راجع العمليات المنطقية).

يمكن استخدام الدالة الداخلية bool() لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه.

أمثلة

أمثلة نموجية عمّا تعدّة لغة بايثون على أنه True، وما تعدّه على أنَّه False:

>>> bool(2)
True
>>> bool("Python")
True
>>> bool(0)
False
>>> bool()
False
>>> bool(None)
False

انظر أيضًا

مصادر