実践・初級問題チェック

問題 19 /40

unicodedataモジュールで、半角カナを全角カナに変換し、全角英数字を半角英数字に変換する関数はどれか。

選択 1

swapcase()

選択 2

normalize()

選択 3

title()

選択 4

capitalize()

解説

選択肢2が正解です。

unicodedataモジュールのnormalize()関数は、次のように文字列の正規化で使います。

import unicodedata

unicodedata.normalize('NFKC', 'アアAA22')
▶︎
'アアAA22'

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)