عملگرهای خاص

علاوه بر عملگرهایی که تا کنون ذکر شد، پایتون دارای عملگرهای خاص زیر نیز می‌باشد:

  1. عملگرهای membership که بررسی می‌کنند آیا متغیر مورد نظر در یک مجموعه (sequence) همچون رشته، list یا tuple وجود دارد یا خیر.
  2. عملگرهای Identity که مکان‌های قرار گیری دو شیء را با هم مقایسه می‌کند (بررسی می‌کنند آیا دوشی با هم برابر هستند یا خیر).

در جدول زیر انواع عملگرهای membership و Identity ذکر شده‌اند:

عملگر توضیح
Memberships operator in در صورت یافتن متغیر مورد نظر در مجموعه‌ی مشخص شده، True و در غیر این صورت False را برمی گرداند.
not in در صورت یافت نشدن متغیر مورد نظر در مجموعه‌ی مشخص شده، True و در غیر این صورت False را برمی گرداند.
Identity operator is اگر متغیرهای هر دو طرف عملگر به شی یکسان اشاره داشته باشند، True و در غیر این صورت False را برمی گرداند.
is not چنانچه متغیر در دو طرف عملگر به شی یکسان اشاره داشته باشد، False و در غیر این صورت True را بر می گرداند.

به مثال‌های زیر توجه کنید:

print(5 in     [3, 8, 5, 10])
print(5 not in [3, 8, 5, 10])
True
False

در خط اول کد بالا، چک می‌شود که آیا عدد 5 در مجموعه [3, 8, 5, 10] وجود دارد یا نه؟ و چون وجود دارد مقدار True بر گردانده می‌شود. در خط دوم هم که کاملاً مشخص است که اگر عدد 5 در مجموعه وجود نداشته باشد مقدار True بر گردانده می‌شود ولی چون عدد 5 وجود دارد مقدار False برگردانده می‌شود.

number1 = 5
number2 = 6

print(number1 is     number2)
print(number1 is not number2)
False
True

در مثال بالا و در اولین مقایسه گفته شده است که آیا number1 همان number2 است و چون چنین نیست مقدار False و در مقایسه دوم هم گفته شده است که آیا number1 برابر number2 نیست؟ و چون برابر نیستند مقدار True برگردانده شده است.