identity অপারেটর in Python
Python-এ Identity Operator (আইডেন্টিটি অপারেটর)
Python-এ Identity Operator ব্যবহার করা হয় দুটি Object একই Object কি না তা পরীক্ষা করার জন্য। অর্থাৎ, দুটি variable-এর value একই কি না তা পরীক্ষা করার পরিবর্তে, তারা একই object-কে নির্দেশ করছে কি না তা যাচাই করতে Identity Operator ব্যবহার করা হয়।
Python-এ দুটি Identity Operator রয়েছে:
isis not
is Operator
is operator পরীক্ষা করে দুটি variable
একই object-কে নির্দেশ করছে কি না।
যদি দুটি variable একই object-কে নির্দেশ করে, তাহলে এর ফলাফল
True হবে। অন্যথায় ফলাফল False হবে।
উদাহরণ
x = [10, 20, 30]
y = x
print(x is y)
Output:
True
এখানে y = x করার ফলে x এবং y
একই list object-কে নির্দেশ করছে। তাই x is y এর ফলাফল
True হবে।
is not Operator
is not operator পরীক্ষা করে দুটি variable
একই object-কে নির্দেশ করছে না কি না।
যদি দুটি variable আলাদা object-কে নির্দেশ করে, তাহলে
is not এর ফলাফল True হবে।
উদাহরণ
x = [10, 20, 30]
y = [10, 20, 30]
print(x is not y)
Output:
True
এখানে x এবং y-এর value একই হলেও তারা দুটি
আলাদা list object। তাই x is not y এর ফলাফল
True হবে।
Identity Operator এবং == Operator-এর পার্থক্য
Identity Operator এবং == operator-এর কাজ এক নয়।
== operator দুটি object-এর value সমান কি না
তা পরীক্ষা করে। অন্যদিকে is operator দুটি variable
একই object-কে নির্দেশ করছে কি না তা পরীক্ষা করে।
উদাহরণ
x = [10, 20, 30]
y = [10, 20, 30]
print(x == y)
print(x is y)
Output:
True
False
এখানে x == y এর ফলাফল True, কারণ দুটি
list-এর value একই। কিন্তু x is y এর ফলাফল
False, কারণ x এবং y দুটি
আলাদা list object-কে নির্দেশ করছে।
is Operator-এর আরও একটি উদাহরণ
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == b)
print(a is b)
print(a == c)
print(a is c)
Output:
True
True
True
False
এখানে b = a করার কারণে a এবং
b একই object-কে নির্দেশ করছে। তাই
a == b এবং a is b উভয়ের ফলাফল
True।
অন্যদিকে c = [1, 2, 3] একটি নতুন list object তৈরি
করেছে। a এবং c-এর value একই হলেও তারা
একই object নয়। তাই a == c এর ফলাফল True,
কিন্তু a is c এর ফলাফল False।
is Operator এবং None
Python-এ কোনো variable-এর value None কি না পরীক্ষা
করার সময় is operator ব্যবহার করা একটি প্রচলিত পদ্ধতি।
উদাহরণ
value = None
if value is None:
print("কোনো value নেই")
Output:
কোনো value নেই
এখানে value is None দ্বারা পরীক্ষা করা হচ্ছে
value আসলে None object-কে নির্দেশ করছে
কি না।
Identity Operator-এর Syntax
is
object1 is object2
যদি object1 এবং object2 একই object-কে
নির্দেশ করে, তাহলে ফলাফল হবে True।
is not
object1 is not object2
যদি object1 এবং object2 আলাদা object-কে
নির্দেশ করে, তাহলে ফলাফল হবে True।
Identity Operator ব্যবহারের গুরুত্বপূর্ণ বিষয়
Identity Operator ব্যবহার করার সময় মনে রাখতে হবে যে
== এবং is একই কাজ করে না।
-
==দুটি value সমান কি না পরীক্ষা করে। -
isদুটি variable একই object-কে নির্দেশ করছে কি না পরীক্ষা করে। -
is notদুটি variable আলাদা object-কে নির্দেশ করছে কি না পরীক্ষা করে।
আরও একটি উদাহরণ
x = [1, 2]
y = [1, 2]
print(x == y)
print(x is y)
Output:
True
False
এখানে x এবং y-এর value একই হলেও তারা
দুটি পৃথক object। তাই x == y এর ফলাফল
True, কিন্তু x is y এর ফলাফল
False।
Identity Operator-এর সংক্ষিপ্তসার
| Operator | কাজ |
|---|---|
is |
দুটি variable একই object-কে নির্দেশ করছে কি না পরীক্ষা করে। |
is not |
দুটি variable আলাদা object-কে নির্দেশ করছে কি না পরীক্ষা করে। |
উপসংহার
Python-এর Identity Operator মূলত দুটি variable
একই object-কে নির্দেশ করছে কি না তা পরীক্ষা করার জন্য ব্যবহৃত হয়।
Python-এ is এবং is not হলো দুটি Identity
Operator।
সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, == যেখানে
value-এর সমতা পরীক্ষা করে, সেখানে is
object-এর identity পরীক্ষা করে। তাই দুটি object-এর
value একই হলেও তারা একই object নাও হতে পারে।