मैं बस के बारे में पढ़ रहा था जो -5 के बीच क्योंकि अजगर कैश नंबर और 256पायथन: अलग-अलग परिणाम जब PyCharm और निष्क्रिय/अजगर
होता है 'अप्रत्याशित परिणाम ऑपरेटर है की' का उपयोग कर यह यहाँ पर चर्चा की गई: "is" operator behaves unexpectedly with integers
और यहाँ: "is" and "id" in Python 3.5
जब मैं वहाँ दिए गए उदाहरणों में से एक चलाने के लिए, मैं अजगर निष्क्रिय और अजगर आईडीई (- 5.0.4 मैं JetBrains Pycharm पेशेवर संस्करण का उपयोग कर रहा है) के बीच अलग-अलग परिणाम मिलता है।
अजगर निष्क्रिय का उपयोग करते समय यह परिणाम है:
a = 1000
b = 1000
print (a is b) # prints False
Pycharm 5.0.4 का उपयोग कर इस परिणाम है जब:
a = 1000
b = 1000
print (a is b) # prints True
यह कैसे हो सकता है? मैंने दोबारा जांच की है, और मेरे प्रोजेक्ट के पायथन-इंटरप्रेटर दोनों मामलों में बिल्कुल समान है (दोनों पाइथन 3.5.1 हैं)। सुनिश्चित नहीं है कि यह कुछ है जो मैंने गलत किया है, और मैं उम्मीद कर रहा था कि कोई इसे समझा सकता है।
संपादित करें:
मैं जानता हूँ कि 'एक' 'बी' == सच iff आईडी (क) == आईडी (ख), और आप इसे आप में से कुछ की तरह देख सकते हैं कि टिप्पणी में उल्लेख किया है । शायद मुझे और स्पष्ट होना चाहिए था, जो मुझे समझ में नहीं आता है यह कैसे हो सकता है कि एक आईडीई का अलग व्यवहार हो? मैंने सोचा (और कृपया, मुझे सही करें, जैसा कि ऐसा लगता है कि मैं गलत हूं) कि एक आईडीई सिर्फ उपयोगकर्ता के अनुकूल वातावरण है जो बाहरी कंपाइलर्स/दुभाषियों का उपयोग करता है, और यही कारण है कि ये उन आईडीई से स्वतंत्र हैं (उदाहरण के लिए, पिचर्म समर्थन करता है न केवल अजगर, और मैं सी संकलक के साथ ग्रहण चला सकते हैं, या जावा आदि (जो सभी आईडीई के कुछ हिस्सों नहीं हैं)
धन्यवाद, is operator के लिए एलन
धन्यवाद! यही वह याद आ रहा था। – Alonbs