実践・初級問題チェック
問題 19 /40
unicodedataモジュールで、半角カナを全角カナに変換し、全角英数字を半角英数字に変換する関数はどれか。
解説
選択肢2が正解です。
unicodedataモジュールのnormalize()関数は、次のコードのように文字列の正規化で使えます。
>>> import unicodedata
>>> unicodedata.normalize('NFKC', 'アアAA')
'アアAA' # 結果
「NFKC」で正規化の条件を指定しており、ここでは「半角カナを全角カナに変換し、全角英数字を半角英数字に変換」しています。
他の選択肢はunicodedataモジュールの関数ではなく、Python標準の組み込みメソッドです。
【選択肢1】
swapcase()
大文字を小文字に、小文字を大文字に変換するメソッドです。
>>> 'MUSIC book'.swapcase()
'music BOOK'
【選択肢3】
title()
単語ごとに「大文字1文字+小文字」の形式に変換するメソッドです。
>>> 'music book'.title()
'Music Book'
【選択肢4】
capitalize()
先頭1文字を大文字に、それ以外を小文字に変換するメソッドです。
>>> 'music book'.capitalize()
'Music book'
(公式書籍 p.143、127)