私はPython Cookbook(2nd Edition)を見て、文字列と文字の処理方法を学びました。
数値をUnicode版に変換してみました。そこで私は 'unichr'と呼ばれる組み込み関数 を使用しようとしました。
>>> print repr(unichr(8224))
...そして出力されます:
u'\u2020'
ただし、コードは失敗しました。 print(Python 3はprint ""の代わりにprint()を使用するため) 、しかし、それはうまくいきませんでした。私はコードにいくつかのバリエーションを試みましたが、それでも失敗しました。
unichr(10000)
驚いたことに、上記の関数にどのような値を指定しても、このエラーメッセージが表示され続けました。
NameError: name 'unichr' is not defined
何が問題なのでしょうか?インポートすることになっている特定のモジュールはありますか?
Python 3では、単に chr を使用します。
>>> chr(10000)
'✐'
Python 3.xには、特別なUnicode文字列型/クラスはありません。すべての文字列はUnicode文字列です。それで... chr
を試してみます。 unichr
が3.xより前に行ったことを示します。残念ながらテストできません。
python 2とpython 3の両方で実行する必要がある場合は、この一般的な構文を使用できます(未使用の構文は新しい構文を指します)
try:
unichr
except NameError:
unichr = chr