Python|大文字・小文字変換の基本メソッド

1. はじめに

Pythonでは、文字列の大文字・小文字を自在に変換することができます。「Python|大文字・小文字変換の基本メソッド」では、upper()lower()capitalize()title()casefold()など、初心者から中級者まで必ず押さえておきたい文字列操作メソッドを詳しく解説します。

これらのメソッドを使えば、ユーザー入力の正規化や、検索・比較処理の精度を高めることが可能になります。この記事では、実用的なコード例とともに、実行結果もわかりやすく掲載しています。

 

2. Pythonにおける大文字・小文字変換の基本

2-1. upper():すべて大文字に変換

upper()メソッドは、文字列をすべて大文字に変換します。

text = "hello world"
print(text.upper())  # 大文字に変換

実行結果:

HELLO WORLD

2-2. lower():すべて小文字に変換

lower()メソッドは、文字列をすべて小文字に変換します。

text = "Hello WORLD"
print(text.lower())  # 小文字に変換

実行結果:

hello world

2-3. capitalize():先頭1文字だけ大文字に

capitalize()メソッドは、文字列の先頭1文字だけを大文字にし、それ以外は小文字にします。

text = "python programming"
print(text.capitalize())

実行結果:

Python programming

2-4. title():各単語の先頭文字を大文字に

title()は、各単語の先頭文字を大文字に変換します。タイトルや見出しに便利です。

text = "learn python programming"
print(text.title())

実行結果:

Learn Python Programming

2-5. casefold():比較時に便利な小文字変換

casefold()は、lower()よりも徹底的に小文字変換を行います。文字比較の際に使うと精度が上がります。

text1 = "Straße"
text2 = "strasse"
print(text1.casefold() == text2.casefold())

実行結果:

True

 

3. よくある使い方・応用例

3-1. ユーザー入力の正規化

たとえばログインフォームなどでは、入力された文字列を小文字化して比較することで、大文字小文字の違いによるミスを防ぎます。

correct_email = "user@example.com"
input_email = input("メールアドレスを入力してください:")

# 小文字に変換して比較
if correct_email.lower() == input_email.lower():
    print("一致しました。")
else:
    print("一致しません。")

実行結果:

※ 入力に応じて「一致しました。」または「一致しません。」が表示されます。

3-2. リスト内の文字列を一括変換

複数の文字列をリストで保持している場合、map()やリスト内包表記を使って一括で変換できます。

words = ["python", "Java", "RuBy"]
# 全て大文字に変換
upper_words = [word.upper() for word in words]
print(upper_words)

実行結果:

['PYTHON', 'JAVA', 'RUBY']

 

4. 注意点・エラー対策

4-1. 数字や記号は変換されない

大文字・小文字変換は、英字のみが対象です。数字や記号には影響しません。

text = "123 abc!?"
print(text.upper())

実行結果:

123 ABC!?

4-2. 文字列でないデータ型に注意

整数やリストなどの非文字列型に対して文字列メソッドを使おうとするとエラーになります。明示的にstr()で変換しましょう。

num = 123
print(str(num).upper())  # 数値を文字列に変換してから使用

実行結果:

123

4-3. casefold()の対象は言語依存

casefold()は国際化対応で強力ですが、Unicode規格に基づくため、全ての環境で同じ挙動になるとは限りません。

 

5. まとめ

この記事では、Pythonの文字列メソッドのうち、大文字・小文字変換に関する基本を解説しました。

  • upper():全て大文字に
  • lower():全て小文字に
  • capitalize():先頭1文字だけ大文字に
  • title():各単語の先頭文字を大文字に
  • casefold():比較に強い小文字化

これらは、入力データの正規化や表示の整形など、実務でも頻繁に登場する処理です。学習のコツとしては、自分の名前や商品名などの文字列を使って試すと身につきやすくなります。

今後、フォーム入力の検証やファイル名の統一、データクレンジングなどの場面でも大いに活用できるでしょう。ぜひこの記事を参考に、日々のPythonスキルを磨いてください!

タイトルとURLをコピーしました