2012-03-07 11 views
16

ठीक है, मैं हार मानता हूं।पायथन में समानता विफलता स्ट्रिंग। क्या देता है?

message.dest = message.dest.strip() 
print type(message.dest) 
print message.dest 
if message.dest == 'UI': 
    print "Equal!" 
else: 
    print "Not Equal!" 

किसी तरह मेरी उत्पादन होता है:

<type 'str'> 
UI 
Not Equal! 

यहाँ क्या हो रहा है पर कोई भी विचार मैं परिणाम मैं निम्नलिखित कोड से हो रही है (अजगर 2.6.6) समझ में नहीं कर सकते हैं?

+8

'repr (message.dest) 'प्रिंट करने का प्रयास करें। –

+5

अच्छा होगा अगर डाउनवॉटर स्वयं को समझाने की देखभाल करते हैं। – Simon

+0

@ सिमॉन: मेरा जवाब देखें, लेकिन संक्षेप में: अपनी समस्या को हल करने के लिए कोई प्रयास नहीं, इससे केवल ओपी को फायदा हो सकता है, कोई और नहीं। – Marcin

उत्तर

-2

message.dest'UI' के बराबर एक वस्तु नहीं है। यही हो रहा है कि यहाँ क्या हो रहा है।

इसके बजाय आप Stackoverflow पूछ लगता है कि आपके कार्यक्रम में डेटा कर रहे हैं की message.dest की रेपर प्रिंट करना या डिबगर में अपने कोड का पता लगाने के, चाहते हो सकता है।

+7

मुझे लगता है कि कुछ शिक्षा आपके उत्तर में स्वागत होगी। – Simon

+0

संवेदनात्मक "सहायता" के लिए धन्यवाद। – kamek

+0

@ सिमॉन मुझे लगता है कि दोनों 'repr' और डिबगर्स ओपी को खबर हैं। – Marcin

5

मूल रूप से प्रश्न के शरीर में ओपी द्वारा पोस्ट किया गया। समुदाय विकी उत्तर में कनवर्ट किया गया।

मैं बस किसी भी स्थिति में किसी और को खुद को ढूंढने के मामले में समस्या का सामना करना चाहता था।

समस्या message.dest था स्ट्रिंग में ASCII संहिताबद्ध चरित्र, उदाहरण के लिए,

>>> repr(message.dest) 
"'\\x00UI'" 
>>> print message.dest 
UI 

निजी तौर पर मेरा भ्रम तथ्य यह है कि ऑब्जेक्ट प्रकार <type 'str'> था से ज्यादातर उपजी थी। यह डिबगिंग टूल के रूप में print कथन का उपयोग करने के खतरे को हाइलाइट करता है।