الفرق بين المراجعتين لصفحة: «Python/boolean»
ط نقل Mohammed Taher صفحة Python/Types/boolean إلى Python/boolean |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:القيم المنطقية في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:القيم المنطقية في بايثون}}</noinclude> | ||
القيمتان المنطقيتان ( | القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما <code>True</code> و <code>False</code> وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) للنوع [[Python/int|integer]]، وتسلك القيمتان <code>False</code> و <code>True</code> سلوك القيمتين <code>0</code> و <code>1</code> على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان <code>"False"</code> و <code>"True"</code> على التوالي.<syntaxhighlight lang="python3" line="1"> | ||
>>> foo = True | >>> foo = True | ||
>>> bar = False | >>> bar = False | ||
سطر 7: | سطر 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>: | ||
سطر 15: | سطر 15: | ||
* الصفر في أي نوع عددي: <code>0</code>، أو <code>0.0</code>، أو <code>Fraction(0,1)</code>، أو <code>Decimal(0)</code>، أو <code>0j</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><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> للقيم الصحيحة، إلا إذا صُرّح بغير ذلك (باستثناء العمليتان المنطقيتان <code>or</code> و <code>and</code> اللتان تعيدان دائمًا واحدًا من عواملهما فقط، وتعرف هذه الحالة بالدارة القصيرة short-circuit. للمزيد من المعلومات راجع العمليات المنطقية). | تعيد العمليات والدوالّ الداخلية التي تمتلك نتائج منطقية (بوليانية) دائمًا القيمة <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|العمليات المنطقية]]). | ||
يمكن استخدام الدالة الداخلية <code>bool()</code> لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه. | يمكن استخدام الدالة الداخلية <code>bool()</code> لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه. |
مراجعة 05:42، 25 مارس 2018
القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما True
و False
وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) للنوع integer، وتسلك القيمتان False
و True
سلوك القيمتين 0
و 1
على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان "False"
و "True"
على التوالي.
>>> foo = True
>>> 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()
لتحويل أي قيمة إلى قيمة منطقية إذا كان بالإمكان التحقق من صحّة القيمة كما ورد في أعلاه.
مثال
>>> bool(2)
True
>>> bool("Python")
True
>>> bool(0)
False
>>> bool()
False
>>> bool(None)
False
مصادر
- صفحتا Data Model و Built-in Types في توثيق بايثون الرسمي.