[解決!Python]文字列が大文字だけで構成されているか、小文字だけで構成されているかを区別するには(isupperメソッド、islowerメソッド)解決!Python

文字列のisupperメソッド/islowerメソッドを使って、文字列が大文字だけで構成されているか、あるいは小文字だけで構成されているかを調べる方法と考慮点を紹介する。

» 2023年11月07日 05時00分 公開
[かわさきしんじDeep Insider編集部]
「解決!Python」のインデックス

連載目次

# 文字列が大文字のみで構成されているかどうかを調べる
s = 'Python'
result = s.isupper()
print(result)  # False

s = 'PYTHON'  # s = s.upper()
result = s.isupper()
print(result)  # True

s = ' +P=Y=T=H=O=N+ '  # 大文字小文字の区別がない文字は判定の対象とはならない
result = s.isupper()
print(result)  # True

s = '012= =+'  # 大文字小文字の区別がない文字だけで構成されている場合
result = s.isupper()
print(result)  # False

# 文字列が小文字のみで構成されているかどうかを調べる
s = 'Python'
result = s.islower()
print(result)  # False

s = 'python'  # s = s.lower()
result = s.islower()
print(result)  # True

s = ' +p=y=t=h=o=n+ '  # 大文字小文字の区別がない文字は判定の対象とはならない
result = s.islower()
print(result)  # True

s = '012= =+'  # 大文字小文字の区別がない文字だけで構成されている場合
result = s.islower()
print(result)  # False


メソッド 説明
isupperメソッド 文字列が大文字(と大文字小文字の区別がない文字)のみで構成されているとTrueを、そうでなければFalseを返す。大文字小文字の区別がない文字のみで構成されている場合にはFalseを返す
islowerメソッド 文字列が小文字(と大文字小文字の区別がない文字)のみで構成されているとTrueを、そうでなければFalseを返す。大文字小文字の区別がない文字のみで構成されている場合にはFalseを返す
文字列のisupperメソッド/islowerメソッド

isupperメソッド:文字列が大文字のみで構成されているかどうかを調べる

 文字列が大文字のみで構成されているかどうかを調べるには、文字列のisupperメソッドを使用する。以下に例を示す。

s = 'Python'
result = s.isupper()
print(result)  # False

s = 'PYTHON'  # s = s.upper()
result = s.isupper()
print(result)  # True


 1つ目の例では文字列sは大文字と小文字で構成されている。そのため、isupperメソッドはFalseを返す。2つ目の例では文字列sは大文字だけで構成されているので、isupperメソッドはTrueを返している。

 文字列に大文字小文字の区別がない文字が含まれていた場合の扱いには注意すること。isupperメソッド(とislowerメソッド)はそれらについては大文字小文字の判定には含まない。以下に例を示す。

s = ' +P=Y=T=H=O=N+ '  # 大文字小文字の区別がない文字は判定の対象とはならない
result = s.isupper()
print(result)  # True


 この例では、文字列sには大文字に加えて半角の空白文字など大文字小文字の区別がない文字が含まれている。この場合、大文字小文字の区別がある文字だけが判定の対象となり、結果としてisupperメソッドはTrueを返している。

 では、大文字小文字の区別がない文字だけで文字列が構成されている場合はどうかというと、そのときには以下に示すようにFalseが返される。

s = '012= =+'  # 大文字小文字の区別がない文字だけで構成されている場合
result = s.isupper()
print(result)  # False


islowerメソッド:文字列が小文字のみで構成されているかどうかを調べる

 同様に、文字列が小文字のみで構成されているかどうかを調べるには、文字列のislowerメソッドを使用する。以下に例を示す。

s = 'Python'
result = s.islower()
print(result)  # False

s = 'python'  # s = s.lower()
result = s.islower()
print(result)  # True


 1つ目の例では、文字列sには大文字と小文字が混在しているので判定結果はFalseとなる。2つ目の例では文字列sには小文字のみが含まれているので結果はTrueとなる。

 大文字小文字の区別がない文字が含まれているときの扱いはisupperメソッドと同様だ。区別のない文字は判定の対象とはならず、区別のある文字だけを見て結果が決まる。

s = ' +p=y=t=h=o=n+ '  # 大文字小文字の区別がない文字は判定の対象とはならない
result = s.islower()
print(result)  # True


 大文字小文字の区別がない文字だけで文字列が構成されているときもisupperメソッドと同様、判定結果はFalseとなる。

s = '012= =+'  # 大文字小文字の区別がない文字だけで構成されている場合
result = s.islower()
print(result)  # False


「解決!Python」のインデックス

解決!Python

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。