समस्या विवरण
is और == ऑपरेटर ज्यादातर समान हैं लेकिन वे समान नहीं हैं। is ऑपरेटर परिभाषित करता है कि क्या दोनों वेरिएबल एक ही ऑब्जेक्ट को इंगित करते हैं जबकि == चिन्ह जांचता है कि दो वेरिएबल के मान समान हैं या नहीं।
उदाहरण कोड
# पायथन प्रोग्राम: == और is ऑपरेटर के बीच अंतर दिखाने के लिए
# [] एक खाली सूची है
list1 = []
list2 = []
list3 = list1
if (list1 == list2):
print("True")
else:
print("False")
if (list1 is list2):
print("True")
else:
print("False")
if (list1 is list3):
print("True")
else:
print("False")
आउटपुट
True
False
True
व्याख्या
list1 == list2True लौटाता है क्योंकि दोनों खाली सूचियों के मान समान हैं।list1 is list2False लौटाता है क्योंकि वे मेमोरी में अलग-अलग ऑब्जेक्ट हैं।list1 is list3True लौटाता है क्योंकि दोनों एक ही ऑब्जेक्ट को संदर्भित करते हैं।