Pythonで大文字・小文字を変換する方法!upper()・lower()・capitalize()
生徒
「Pythonで文字を全部大文字にしたり、小文字にしたりすることってできますか?」
先生
「はい、できますよ。Pythonではupper()
やlower()
、capitalize()
というメソッドを使って、文字の大文字や小文字を自由に変換できます。」
生徒
「メソッドって何でしたっけ?」
先生
「メソッドは、あるデータに対して特別な命令をするものです。今回は文字列に対して命令を出すメソッドですね。では順番に見ていきましょう!」
1. Pythonで文字を大文字に変換するupper()の使い方
Pythonで文字列をすべて大文字に変えたいときは、upper()
メソッドを使います。アルファベットの小文字を大文字にしてくれる命令です。
text = "python programming"
print(text.upper())
PYTHON PROGRAMMING
このように、すべての英字が大文字に変換されます。日本語や数字はそのままです。
2. 小文字に変換するlower()の使い方
lower()
メソッドを使うと、文字列をすべて小文字に変換することができます。
text = "HELLO World"
print(text.lower())
hello world
このように、すべての英字が小文字になります。
3. 最初の1文字だけ大文字にするcapitalize()の使い方
capitalize()
メソッドは、文の最初の1文字だけを大文字にして、あとはすべて小文字にするメソッドです。
text = "python is fun!"
print(text.capitalize())
Python is fun!
英文を書くときなどに便利なメソッドです。
4. upper()・lower()・capitalize()は文字列専用
これらのメソッドはすべて「文字列専用」です。つまり、数値には使えません。
number = 123
# print(number.upper()) これはエラーになります
文字列であることが前提なので、文字として扱いたい場合はstr()
で変換してから使います。
number = 123
print(str(number).upper())
5. 文字列の比較にも便利!大文字・小文字を無視する方法
ユーザーが入力した言葉と、あらかじめ用意した言葉を比べるとき、大文字と小文字が違うだけで一致しないことがあります。そのときは、両方をlower()
やupper()
にそろえてから比べると便利です。
word = input("yesかnoを入力してください:")
if word.lower() == "yes":
print("はいが選ばれました")
このようにすると、「YES」「Yes」「yEs」など、どんな大文字小文字でも「yes」として正しく処理できます。
6. capitalize()で日本語は変換されない
capitalize()
は英語のようなアルファベットには効果がありますが、日本語の文字には影響がありません。
text = "こんにちは"
print(text.capitalize())
こんにちは
このように、日本語には大文字小文字の区別がないため、変化しないのです。
7. 応用編:複数の単語の先頭だけ大文字にするtitle()
title()
メソッドは、文章の中にあるすべての単語の最初の文字だけを大文字にしてくれます。
text = "python is very fun"
print(text.title())
Python Is Very Fun
英文タイトルや見出しを作るときに役立ちます。
8. 大文字・小文字を一括で変換する実用例
たとえば、メールアドレスをすべて小文字にそろえたり、パスワードの大文字だけをチェックしたい場合にもこれらのメソッドが活用できます。
email = "UserName@Example.Com"
print(email.lower())
username@example.com
このように、統一された形にしておくことで、比較や保存がスムーズになります。
9. 練習問題:文字の変換をやってみよう
次の文字列をすべて大文字、小文字、最初の文字だけ大文字にしてみましょう。
text = "hello Python"
print(text.upper())
print(text.lower())
print(text.capitalize())
HELLO PYTHON
hello python
Hello python
それぞれのメソッドの違いを比べて、どんなときに使えばいいかを覚えておきましょう。