Ошибка равенства строк в Python. Что дает? - PullRequest
16 голосов
/ 07 марта 2012

Хорошо, я сдаюсь.Я не могу понять результат, который я получаю из следующего кода (Python 2.6.6):

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

Каким-то образом мой вывод такой:

1 Ответ

6 голосов
/ 07 марта 2012

Первоначально опубликовано OP в теле вопроса.Преобразованный в вики ответ сообщества.

Я просто хотел выяснить, в чем заключалась проблема на случай, если кто-то еще окажется в подобной ситуации.

Проблема была message.destимел в коде ASCII-символ в строке, например,

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

Лично мое замешательство было связано главным образом с фактом, что тип объекта был <type 'str'>.Это подчеркивает опасность использования операторов print в качестве средства отладки.

...