[解決!Python]文字列が大文字だけで構成されているか、小文字だけで構成されているかを区別するには(isupperメソッド、islowerメソッド):解決!Python
文字列のisupperメソッド/islowerメソッドを使って、文字列が大文字だけで構成されているか、あるいは小文字だけで構成されているかを調べる方法と考慮点を紹介する。
# 文字列が大文字のみで構成されているかどうかを調べる
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
Copyright© Digital Advantage Corp. All Rights Reserved.