概要

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()を使うのが最適です。