সারসংক্ষেপ:
is
যখন আপনি কোনও সামগ্রীর পরিচয় (যেমন কিনা তা পরীক্ষা করে দেখার var
জন্য None
) পরীক্ষা করতে চান তখন ব্যবহার করুন । ==
আপনি যখন সাম্যতা পরীক্ষা করতে চান তখন ব্যবহার করুন (যেমন var
সমান 3
?)?
ব্যাখ্যা:
আপনার কাস্টম ক্লাস থাকতে পারে যেখানে my_var == None
ফিরে আসবেTrue
উদাহরণ:
class Negator(object):
def __eq__(self,other):
return not other
thing = Negator()
print thing == None #True
print thing is None #False
is
বস্তুর জন্য চেক পরিচয় । কেবলমাত্র 1 টি অবজেক্ট রয়েছে None
, সুতরাং যখন আপনি এটি করেন my_var is None
, তখন পরীক্ষা করছেন যে তারা আসলে একই জিনিস (কেবল সমমানের বস্তু নয়)
অন্য কথায়, ==
সমতুল্যতার জন্য যাচাই করা হয় (যা বস্তু থেকে অন্য বস্তুতে সংজ্ঞায়িত হয়) যেখানে is
বস্তুর পরিচয়ের জন্য পরীক্ষা করা হয়:
lst = [1,2,3]
lst == lst[:] # This is True since the lists are "equivalent"
lst is lst[:] # This is False since they're actually different objects
is
- python.org/dev/peps/pep-0008/#programming-recommendations