الفرق بين المراجعتين لصفحة: «Python/bool operations»
< Python
ط نقل Mohammed Taher صفحة Python/bool-operators إلى Python/bool-operations |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:العمليات المنطقية في بايثون}}</noinclude> | ||
تقدّم بايثون ثلاث عمليات منطقية، وهي مرتبة في الجدول التالي حسب أولويتها ترتيبًا تصاعديًا: | تقدّم بايثون ثلاث عمليات منطقية، وهي مرتبة في الجدول التالي حسب أولويتها ترتيبًا تصاعديًا: | ||
{| class="wikitable" | {| class="wikitable" |
مراجعة 10:05، 11 مارس 2018
تقدّم بايثون ثلاث عمليات منطقية، وهي مرتبة في الجدول التالي حسب أولويتها ترتيبًا تصاعديًا:
العامل | النتيجة | ملاحظات |
---|---|---|
x or y
|
إذا كان x خطأً، فعالج y ، وإلا عالج x
|
هذا العامل ذو دارة قصيرة (short-circuit operator)؛ لذا فإنّه يعالج الوسيط الثاني فقط عندما يكون الوسيط الأول خطأً. |
x and y
|
إذا كان x خطأً، فعالج x ، وإلا عالج y
|
هذا العامل ذو دارة قصيرة (short-circuit operator)؛ لذا فإنّه يعالج الوسيط الثاني فقط عندما يكون الوسيط الأول صحيحًا. |
not x
|
إذا كان x خطأً، فالنتيجة True، وإلا False. | يمتلك العامل not أولوية أدنى من العوامل غير المنطقية، لذا فإنّ العبارة not a == b ستفسّر إلى not (a == b) .
أما العبارة |
في سياق العمليات المنطقية وكذلك عند استخدام التعابير من طرف عبارات التحكم في التنفيذ، تفسّر القيم التالية إلى خطأ:
- عبارة False
- عبارة None
- العدد 0 بجميع أنواعه (صحيح أو عشري أو كسري).
- السلاسل النصية والحاويات الفارغة (بضمنها الصفوف، القوائم، القواميس، المجموعات، المجموعات الجامدة).
تفسّر اللغة أيّ قيمة أخرى على أنّها صحيحة.
ملاحظات
- يعطي العامل not القيمة True إن كان وسيطه خطأً، وFalse فيما عدا ذلك.
- يعالج التعبير x and y المتغير x أوّلًا؛ فإن كان x خطأً تعاد قيمته، وإلا يُعالج المتغير y وتُعاد القيمة الناتجة عن المعالجة.
- يُعالج التعبير x or y المتغير x أولًا؛ فإن كان x صحيحًا تعاد قيمته، وإلّا يُعالج المتغير y وتعاد القيمة الناتجة عن المعالجة.
- لاحظ أنّ العاملين and و or لا يقيدان القيمة والنوع المعاد منهما بـ False و True، بل هما يعيدان الوسيط الأخير الذي تمّت معالجته. وهذا مفيد في بعض الأحيان، فعلى سبيل المثال إن كانت
s
سلسلة نصية يجب استبدالها بقيمة افتراضية إن كانت فارغة يعطي التعبيرs or 'foo'
القيمة المطلوبة.
- يجب أن ينشئ العامل
not
قيمة جديدة؛ لذا فإنّه يعيد قيمة منطقية بصرف النظر عن نوع الوسيط (مثلًا نتيجة التعبيرnot 'foo'
هيFalse
وليست''
).
مصادر
صفحتا Built-in Types و Expressions في توثيق بايثون الرسمي.