Я просматривал Поваренную книгу Python (2-й Выпуск), чтобы изучить, как обработать строки и символы.
Я хотел попытаться преобразовать число в его эквивалентный Unicode. Таким образом, я пытался использовать встроенную функцию, названную 'unichr', который, согласно Поваренной книге, идет что-то как:
>>> print repr(unichr(8224))
... и произведет:
u'\u2020'
Однако код перестал работать. Я думал, что это имело некоторое отношение к печати (потому что печать использования Python 3 () вместо печати""), но это не удалось также. Я попробовал несколько изменений к коду, и он все еще перестал работать. В конце концов я просто ввел простую строку:
unichr(10000)
К моему удивлению это сообщение об ошибке продолжало открываться, независимо от того, что оценивает, я поместил в вышеупомянутую функцию:
NameError: name 'unichr' is not defined
Какова могла быть проблема? Есть ли некоторый определенный модуль, который я, как предполагается, импортирую?
В Python 3 вы просто используете chr :
>>> chr(10000)
'✐'
В Python 3 больше нет разницы между строками Unicode и обычными строками. Только между строками юникода и двоичными данными. Поэтому разработчики наконец удалили функцию unichr
в пользу обычного chr
, который теперь выполняет то же самое, что и старый unichr
. См. Документацию здесь .
Python 3.x не имеет специального строкового типа / класса Unicode. Каждая строка является строкой Unicode. Итак ... Я бы попробовал chr
. Должен дать вам то, что unichr
делал до 3.x. К сожалению, не могу проверить.