🤖

Python 大文字小文字の変換

2021/05/02に公開

Pythonの大文字小文字の変換いろいろ

str.upper()

文字列中に含まれる小文字を全て大文字に変換する

s = 'Python'
s.upper()
# => PYTHON

str.lower()

文字列中に含まれる大文字を全て小文字に変換する

s = 'Python'
s.lower()
# => python

str.swapcase()

文字列中に含まれる小文字を大文字、大文字を小文字に変換する

s = 'Python'
s.swapcase()
# => pYTHON

str.capitalize()

文字列の始まりの文字を大文字にしてそれ以外の文字を全て小文字に変換する

s='python'
s.capitalize()
# => Python
s='PYTHON'
s.capitalize()
# => Python

str.title()

文字列中の各単語の始まりを大文字にして、それ以外を全て小文字に変換する

s='hello python'
s.title()
# => Hello Python

注意点:スペース、記号、全角の文字が区切り文字として判定される

  • スペース
  • 記号
  • 全角文字

が区切り文字として判定されるので、意図せぬ変換が起こりうるので注意

s = "I'll be back."
s.title()
# => I'Ll Be Back.

回避方法は公式のドキュメントあるので参考に。
https://docs.python.org/ja/3/library/stdtypes.html#str.title

注意点

変数自体は置き換わらない

紹介した変換処理はあくまで戻り値として返しているだけなので、変数の値自体は置き換わりません。

s = 'Python'
s.upper()
# => PYTHON

s
# => python

全角の文字にも対応している

大文字、小文字の区別がつくのであれば全角文字でも変換可能です。

s = 'abc'
s.upper()
# => abc

日本語の大文字小文字には対応していない

日本語には「や」と「ゃ」などがありますが、これらは変換に対応していないので気を付けましょう。

参考

https://docs.python.org/ja/3/library/stdtypes.html

Discussion