この記事では、Pythonの文字列における大文字と小文字を操作するための基本的なメソッド、upper()
、lower()
、isupper()
、islower()
について解説します。
目次
大文字・小文字に変換する:upper()
とlower()
upper()
とlower()
メソッドは、文字列のアルファベットをそれぞれ大文字または小文字に変換した新しい文字列を返します。元の文字列は変更されません。
## upper()
メソッド
文字列に含まれるすべての小文字アルファベットを大文字に変換します。
original_text = "Python is Fun."
upper_text = original_text.upper()
print(f"変換後: {upper_text}") # 出力: PYTHON IS FUN.
print(f"元の文字列: {original_text}") # 出力: Python is Fun.
## lower()
メソッド
文字列に含まれるすべての大文字アルファベットを小文字に変換します。
original_text = "Python is Fun."
lower_text = original_text.lower()
print(f"変換後: {lower_text}") # 出力: python is fun.
これらのメソッドは連結(チェーン)して使用することもできます。
text = "Hello"
# 大文字に変換後、さらに小文字に変換
result = text.upper().lower()
print(result) # 出力: hello
大文字・小文字か判定する:isupper()
とislower()
isupper()
とislower()
メソッドは、文字列が特定の条件を満たすかを判定し、True
またはFalse
の真偽値を返します。
## isupper()
メソッド
文字列にアルファベットが含まれており、そのすべてが大文字である場合にTrue
を返します。アルファベットが含まれていない場合や、一つでも小文字がある場合はFalse
を返します。
print("HELLO".isupper()) # 出力: True
print("Hello".isupper()) # 出力: False
print("12345".isupper()) # 出力: False (アルファベットが含まれていないため)
## islower()
メソッド
文字列にアルファベットが含まれており、そのすべてが小文字である場合にTrue
を返します。
print("hello".islower()) # 出力: True
print("Hello".islower()) # 出力: False
print("hello123".islower()) # 出力: True (数字は判定に影響しない)
print("12345".islower()) # 出力: False (アルファベットが含まれていないため)
実用例:大文字・小文字を区別しない入力判定
これらのメソッドは、ユーザーからの入力を正規化する際に非常に役立ちます。例えば、ユーザーが”yes”, “Yes”, “YES”のいずれを入力しても、同じように処理したい場合などです。
answer = input("続行しますか? (yes/no): ")
# 入力をすべて小文字に変換してから比較
if answer.lower() == "yes":
print("処理を続行します。")
else:
print("処理を中断しました。")
この方法により、ユーザーが大文字と小文字をどのように入力しても、プログラムは意図通りに動作します。
まとめ
upper()
: 文字列を大文字に変換した新しい文字列を返します。lower()
: 文字列を小文字に変換した新しい文字列を返します。isupper()
: 文字列がすべて大文字のアルファベットで構成されているかを判定します。islower()
: 文字列がすべて小文字のアルファベットで構成されているかを判定します。