はじめに
Pythonには、文字列を連結・結合するための方法として、+演算子や+=演算子、formatやjoinメソッドなど、複数の方法があります。
本記事では、「+演算子」「+=演算子」「joinメソッド」「formatメソッド」を使った代表的な文字列結合を、初心者向けに解説します。
+演算子(加算演算子)
Pythonで文字列を結合する最も簡単な方法は、+ 演算子を使う方法です。
以下のように、結合したい文字列を+で連結するだけです。
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result) # Hello World
上記の例では、str1とstr2の間に空白文字 " " を挟んで結合しています。
このように、+ 演算子を使えば、任意の文字列を簡単に連結できます。
ただし、+ 演算子による文字列結合は、大量の文字列を結合する場合や、ループ内で文字列を結合する場合には、パフォーマンスが悪くなる可能性があります。
その場合は、以下で紹介する他の方法を検討しましょう。
+=演算子(累計代入演算子)
+= 演算子は、累計代入演算子とも呼ばれ、変数に値を加算して、その結果を再び同じ変数に代入する操作を簡潔に表現できます。
文字列を結合する際にも使え、下記のように使えます。
result = "Hello"
result += " "
result += "World"
print(result) # Hello World
結果は+演算子と同じになりますが、+演算子で書くよりもコードを簡潔に書くことができます。
+演算子と同じくですが、大量の文字列を結合する場合や、ループ内で文字列を結合する場合には、パフォーマンスが悪くなる可能性があります。
その場合は、以下で紹介する他の方法を検討しましょう。
joinメソッド
joinメソッドは、文字列のリストを一つの文字列に連結できます。
'間に挿入する文字列'.join([連結するリスト])
具体的には、以下のように使用します。
words = ["Hello", "World", "!"]
result = " ".join(words)
print(result) # Hello World !
上記の例では、wordsリストの要素を空白文字 " " で結合しています。
また間に挿入する文字列に「-」を指定することで、電話番号のように連結することもできます。
numbers = ["000", "0000", "0000"]
result = "-".join(numbers)
print(result) # 000-0000-0000
joinメソッドを使う利点は、簡潔に結合できること、及び+演算子に比べて高速に処理できることです。
formatメソッド
formatメソッドは、文字列のフォーマットを指定しながら、変数の値を埋め込むことができ、文字列結合にも使用できます。
以下のように使います。
name = "田中さん"
age = 25
result = "{}は{}歳です".format(name, age)
print(result) # 田中さんは25歳です
上記の例では、{}プレースホルダーにnameとageの値を埋め込んでいます。
formatメソッドを使う利点は、可読性が高いこと、及び変数の型に合わせて自動的に文字列に変換してくれることです。
Python 3.6 以降では、f-stringsを使ってより簡潔に文字列を結合することもできます。
name = "田中さん"
age = 25
result = f"{name}は{age}歳です"
print(result) # 田中さんは25歳です
f-stringsを使えば、formatメソッドを使うよりも簡潔に、変数の値を文字列に埋め込むことができます。
最後に
いかがでしたでしょうか?
Pythonで文字列を結合する方法は多岐に渡り、それぞれの方法には長所と短所があり、状況に応じて適切な方法を選択する必要があります。
本記事を参考にして、適切な使い分けができるようになりましょう。