概要
Pythonでは、str.lower()とstr.casefold()を使って文字列を小文字に変換できます。lower()は一般的な大文字を小文字に変換しますが、casefold()は、さらに幅広いUnicode対応を行い、異なる言語での正確な比較を可能にします。
基本的な使い方
lower()を使った小文字変換
lower()は、文字列内のすべての大文字を小文字に変換します。
text = "HELLO"
print(text.lower()) # "hello"
casefold()を使った小文字変換
casefold()は、特に異なる言語間の大文字・小文字変換に適しており、より積極的な変換が行われます。
text = "HELLO"
print(text.casefold()) # "hello"
Unicode対応
Unicode文字を含む文字列には、casefold()を使用することで、より正確な比較が可能です。
text = "Maße"
print(text.lower()) # "maße"
print(text.casefold()) # "masse"
結論
Pythonで文字列を小文字に変換する際、lower()は一般的な使用に適していますが、Unicodeや多言語対応が必要な場合はcasefold()を使うのが最適です。