本ページはプロモーションが含まれています

【Python】文字列の大文字と小文字を変換する (upper, lower, capitalize, title, swapcase)

Python文字列組込み型

Pythonで文字列の大文字と小文字を変換する以下の関数について、それぞれ具体例を用いて解説します。

  • 全部大文字に変換: str.upper()
  • 全部小文字に変換: str.lower()
  • 先頭のみ大文字に変換: str.capitalize()
  • 各単語の先頭のみ大文字に変換(タイトルケース): str.title()
  • 大文字と小文字を入れ替える: str.swapcase()

スポンサーリンク

確認した環境

  • OS: Ubuntu 16.04LTS, 20.04LTS
  • Python: ver3.9.7

すべて大文字に変換

文字列を全て大文字にするには、uppder()メソッドを使います。
返り値は、大文字に変換された文字列のコピーとなります。(つまり、元の文字列は変更されない

#大文字に変換されたコピーが返却される
>>> s = 'one two three four'
>>> s.upper()
'ONE TWO THREE FOUR'  

#元の文字列は変更されません
>>> s
'one two three four'  

すべて小文字に変換

文字列を全て小文字に変換するには、lower()メソッドを使います。
返り値はupper()メソッド同様に小文字に変換された文字列のコピーとなりますので、元の文字列は変更されません

#小文字に変換されたコピーが返却される
>>> s = 'ONE TWO THREE FOUR'
>>> s.lower()
'one two three four' 

#元の文字列は変更されません
>>> s
'ONE TWO THREE FOUR' 

最初の文字だけを大文字に変換

最初の文字だけを大文字にするには、capitalize()メソッドを用います。
こちらも元の文字列は変更されません

#最初の文字だけが大文字に変換されたコピーが返却される
>>> s = 'one two three four'
>>> s.capitalize()
'One two three four' 

#元の文字列は変更されません
>>> s
'one two three four' 

各単語の先頭の文字を大文字に変換(タイトルケース)

単語(※)の先頭の文字を大文字に変換するには、title()メソッドを用います。
単語の途中に大文字がある場合は、小文字に変換されます。

ここでの「単語」とは、

  • 単純に連続したアルファベット[a-zA-Z]の文字列を指します。
  • 単語の途中にアポストロフィー’等の記号(他にも /、>、@など)がある場合は、そこで単語が区切れていると見なされます。

以下に例を示します。こちらも元の文字列は変更されません。

# 各単語の最初の文字だけが大文字に変換されたコピーが返却される
>>> s = 'one two three four'
>>> s.title()
'One Two Three Four'

# 元の文字列は変更されません
>>> s
'one two three four'

# 記号は単語の区切りと見なされます
>>> s = "one two Th'ree fo@ur"
>>> s.title()
"One Two Th'Ree Fo@Ur"

# 単語の途中の大文字は小文字に変換されます
>>> s = 'one tWo thRee foUr'
>>> s.title()
'One Two Three Four'

大文字と小文字を入れ替える

大文字と小文字を入れ替えるには、swapcase()メソッドを使います。こちらも上記同様、元の文字列は変更されません。(どのような用途で使うのかちょっと想像つきませんが・・・・)

#大文字と小文字を入れ替えた文字列のコピーが返却される
>>> s = 'One Two Three Four'
>>> s.swapcase()
'oNE tWO tHREE fOUR' 

#元の文字列は変更されません
>>> s
'One Two Three Four' 

まとめ

本記事では、Pythonで文字列を大文字と小文字を変換する関数についてまとめました。

参考書籍

書籍でもう少し詳しく学びたい場合はこちらもどうぞ。筆者もかなり参考にさせてもらっています!

シェアする
ひびきをフォローする
Hbk project