الفرق بين المراجعتين لصفحة: «Python/comparisons»
< Python
أنشأ الصفحة ب'تقدّم بايثون ثمان عمليات للمقارنة، وتمتلك جميعها نفس الأولوية (وهي أعلى من العمليات المنطقي...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:عمليات المقارنة في بايثون}}</noinclude> | |||
تقدّم بايثون ثمان عمليات للمقارنة، وتمتلك جميعها نفس الأولوية (وهي أعلى من العمليات المنطقية). يلخّص الجدول التالي عمليات المقارنة المتوفّرة في بايثون: | تقدّم بايثون ثمان عمليات للمقارنة، وتمتلك جميعها نفس الأولوية (وهي أعلى من العمليات المنطقية). يلخّص الجدول التالي عمليات المقارنة المتوفّرة في بايثون: | ||
{| class="wikitable" | {| class="wikitable" |
مراجعة 17:16، 11 مارس 2018
تقدّم بايثون ثمان عمليات للمقارنة، وتمتلك جميعها نفس الأولوية (وهي أعلى من العمليات المنطقية). يلخّص الجدول التالي عمليات المقارنة المتوفّرة في بايثون:
العملية | الوظيفة |
---|---|
<
|
أقل من |
<=
|
أقل من أو يساوي |
>
|
أكبر من |
>=
|
أكبر من أو يساوي |
==
|
المساواة |
!=
|
عدم المساواة |
is
|
هوية الكائن |
is not
|
نفي هوية الكائن |
ملاحظات
- يمكن ربط عمليات المقارنة بعضها ببعض حسب الحاجة، فعلى سبيل المثال العبارة
x < y <= z
مكافئة للعبارةx < y and y <= z
، باستثناء أنّy
سيعالج مرة واحدة فقط (ولكن في كلتا الحالتين لن يُعالجz
على الإطلاق عندما تؤول العبارةx < y
إلى القيمةFalse
).
- تكون جميع الكائنات ذات الأنواع المختلفة - باستثناء الأنواع العددية - غير متساوية دائمًا.
>>> x = "Hello"
>>> y = 2
>>> x == y
False
- يؤدي استخدام العوامل
<
و<=
و>
و>=
إلى إطلاق استثناء من نوعTypeError
عند مقارنة عدد مركب مع الأنواع العددية الأخرى، أو عندما تكون الكائنات المُقارن بينها ذات أنواع مختلفة لا يمكن عقد مقارنة بينها، أو في حالات أخرى حيث لا يكون هناك ترتيب معرّف.
>>> x = "Hello"
>>> y = 2
>>> x < y
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'
- عادة ما تكون النسخ (instances) غير المتطابقة من الأصناف غير متساوية إلا إذا عرّف الصنف التابع
__eq__()
.
>>> class Person:
... pass
...
>>> p1 = Person()
>>> p2 = Person()
>>> p1 == p2
False
لا يمكن تخصيص عمل العاملين is
و is not
ويمكن استخدامهما مع أي كائنين ولن يؤدي ذلك إلى إطلاق أي استثناء.
>>> class Person:
... pass
...
>>> p1 = Person()
>>> p2 = Person()
>>> print (p1 is p2)
False
>>> print (p1 is not p2)
True
مصادر
- صفحة Built-in Types في توثيق بايثون الرسمي.