इस सवाल का पहले से ही एक उत्तर है: < / P>
- 12 जवाब
मैं पुस्तक से पढ़ रहा था एक कंप्यूटर वैज्ञानिक की तरह सोचें: पायथन के साथ सीखना जब मैं निम्नलिखित प्रश्न पर आया:
एक अभ्यास के रूप में, string.join (string.split (song)) और गीत के बीच संबंध का वर्णन करें। क्या वे सभी तारों के लिए समान हैं? वे अलग क्यों होंगे? (गीत "स्पेन में बारिश ..." के रूप में परिभाषित किया गया था)
इसे जांचने के बाद, हालांकि, मैंने पाया कि दोनों अलग-अलग स्ट्रिंग हैं। मैं string.join (string.split (song)) का उपयोग करने की कोशिश की है
और f गाना है
जहां f को मान स्ट्रिंग सौंपा गया था। Join (string.split (गीत) )) और दोनों के लिए मूल्यांकन गलत
ऐसा क्यों है?
आप तुलना कर रहे हैं तारों के वास्तविक मूल्य क्या हैं?
यदि दोनों एक समान हैं, तो यह पहचान ऑपरेटर है
और समानता ऑपरेटर ==
के बीच के अंतर के कारण है।
संक्षिप्त में , है
पैदावार true
जब वस्तुओं समान हैं क्योंकि आपके उदाहरण में एक नई स्ट्रिंग बनाई गई है, यह झूठी
का उत्पादन करती है।
यदि आप ==
का इस्तेमाल करते हैं तो स्ट्रिंग्स की एक गहरी तुलना हो जाएगा और true
लौटा जाएगा।
अगर तुलना स्ट्रिंग्स समान नहीं हैं, न तो ==
या है
चाहिए true
।
No comments:
Post a Comment