==
ऑपरेटर परीक्षण मूल्य तुल्यता। is
ऑपरेटर परीक्षण वस्तु पहचान, चाहे दो अजगर परीक्षण वास्तव में एक ही वस्तु (यानी, स्मृति में एक ही पते पर लाइव) कर रहे हैं।
>>> a = 'banana'
>>> b = 'banana'
>>> a is b
True
इस उदाहरण में, पायथन ने केवल एक स्ट्रिंग ऑब्जेक्ट बनाया, और दोनों a
और b
इसे संदर्भित करता है। इसका कारण यह है कि पायथन आंतरिक रूप से कैश करता है और अनुकूलन के रूप में कुछ तारों का पुन: उपयोग करता है, वास्तव में स्मृति में एक स्ट्रिंग 'केला' है, जिसे ए और बी द्वारा साझा किया गया है; सामान्य व्यवहार को ट्रिगर करने के लिए, आपको लंबे तार का उपयोग करने की आवश्यकता है:
>>> a = 'a longer banana'
>>> b = 'a longer banana'
>>> a == b, a is b
(True, False)
जब आप दो सूची बनाते हैं, तो आपको दो ऑब्जेक्ट मिलते हैं:
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> a is b
False
इस मामले में हम कहेंगे कि दो सूचियाँ समान हैं, क्योंकि उनके समान तत्व हैं, लेकिन समान नहीं हैं, क्योंकि वे एक ही वस्तु नहीं हैं। यदि दो वस्तुएँ समान हैं, तो वे भी समतुल्य हैं, लेकिन यदि वे समतुल्य हैं, तो वे समान नहीं हैं।
अगर a
किसी ऑब्जेक्ट को संदर्भित करता है और आप असाइन करते हैं b = a
, तो दोनों चर एक ही ऑब्जेक्ट को संदर्भित करते हैं:
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True