संभव डुप्लिकेट:
Python '==' vs 'is' comparing strings, 'is' fails sometimes, why?अजगर तार का संदर्भ
हाय। मेरे पास एक सवाल है कि पाइथन कैसे काम करता है जब संदर्भ आता है कि कब और कब उपयोग किया जाता है।
मेरे यहां एक उदाहरण है जो मैं समझता हूं।
a = "cat"
b = a
a is b
True
यह समझ में आता है। लेकिन यहां कुछ ऐसा आता है जो मुझे समझ में नहीं आता है।
a = "cat"
b = "cat"
a is b
True
c = 1.2
d = 1.2
c is d
False
e = "cat"
f = "".join(a)
e is f
False
क्यों करता है एक वापसी ख सच है और नहीं ग d है? दोनों प्रकार अपरिवर्तनीय सही हैं? और यह फ्लोट नंबर का उपयोग करते समय काम करता था, मैं केवल कल्पना कर सकता हूं कि यह किसी प्रकार का अनुकूलन है, लेकिन मैं किसी भी उत्तर के लिए खुश हूं।
मैं भी कुछ अन्य बातों की कोशिश की और यह परिणाम मिला:
a = "cat"
b = "c"
c = b+"at"
a is c
False # Why not same as setting c = "cat"
d = "cat"+""
a is d
True # Probably same as setting d = "cat"
e = "c"+"at"
a is e
True # Probably same as setting e = "cat"
मुझे लगता है कि यह यहाँ एक ही समस्या है, लेकिन कारण है कि यह जब चर ख बनाने के लिए प्रयोग किया जाता है नहीं यह सच है देता है "बिल्ली"?
मैं अजगर 2.5 का उपयोग करता है, तो है कि किसी भी differance
किसी भी सुझाव और उपयोगी विचार यहाँ की सराहना कर रहे हैं होगा।
पायथन 2.6 और मैं दूसरे उदाहरण में 'सी डी डी' के लिए सच हो रहा हूं। –