Categories: python

Pythonで文字列を結合する7つの方法|初心者にもわかりやすく解説

Pythonを使ってプログラミングを始めたばかりの方が、最初に直面する課題の一つが「文字列の結合」です。単純に複数の文字列を一つにまとめたいだけなのに、思い通りに動かないこともあります。この記事では、Pythonで文字列を結合する基本から応用までの方法を、わかりやすいコード例と一緒に解説します。初心者の方も、復習したい方も、ぜひ最後まで読んでみてください。


文字列の結合とは?

文字列の結合とは、複数の文字列を1つにつなげて新しい文字列を作る操作のことです。たとえば "Hello""World" という文字列を "HelloWorld" にするような処理が該当します。

Pythonではこの操作を行う方法が複数あり、それぞれ用途や処理速度、可読性などの観点で使い分けが求められます。


方法1:+ 演算子で文字列を結合する

もっとも基本的で直感的な方法が + 演算子を使った結合です。

first = "Hello"
second = "World"
result = first + second
print(result) # HelloWorld

この方法は読みやすく、短い文字列を結合する場面で非常によく使われます。ただし、ループ内で繰り返し結合を行うとパフォーマンスが低下する場合があるため注意が必要です。


方法2:join() メソッドで文字列を結合する

複数の文字列をまとめて効率よく結合したい場合は join() メソッドが便利です。

words = ["Hello", "World", "!"]
result = "".join(words)
print(result) # HelloWorld!

この方法は処理速度が速く、ループ内での結合や大量の文字列を扱う場合に推奨されます。


方法3:format() メソッドを使った結合

プレースホルダー {} を使って文字列を整形・結合する方法です。

name = "Taro"
greeting = "Hello, {}!".format(name)
print(greeting) # Hello, Taro!

複数の値を簡単に組み込むことができるため、テンプレート的な用途でよく使われます。


方法4:f文字列(f-strings)を使った結合【Python3.6以降】

f文字列は、Python 3.6から追加された最も簡潔で読みやすい方法のひとつです。

name = "Hanako"
greeting = f"Hello, {name}!"
print(greeting) # Hello, Hanako!

コードの可読性が非常に高く、変数を直接文字列内に埋め込めるため、現在では主流の書き方です。


方法5:% 形式(旧式フォーマット)による結合

過去のPythonコードでよく使われていた書き方です。

name = "Jiro"
greeting = "Hello, %s!" % name
print(greeting) # Hello, Jiro!

今では非推奨ですが、古いコードの読み解きには知っておくと便利です。


方法6:リスト+join()によるループ内結合の最適化

ループで文字列を繰り返し結合するなら、以下のようにリストに追加して最後に join() する方法が最も効率的です。

lines = []
for i in range(5):
lines.append(f"Line {i}")
result = "\n".join(lines)
print(result)

このやり方は、+ 演算子を繰り返すよりも高速で、処理の効率が大幅に向上します。


方法7:文字列を結合してファイルに書き込む例

実用的な場面として、複数の文字列を結合してファイルに保存する例も見ておきましょう。

lines = ["Name: Taro", "Age: 25", "City: Tokyo"]
content = "\n".join(lines)

with open("profile.txt", "w") as file:
file.write(content)

このように、ファイル出力と組み合わせることで文字列結合の活用範囲はさらに広がります。


注意点:異なる型(数値など)との結合には型変換が必要

Pythonでは、文字列と数値をそのまま + で結合しようとするとエラーになります。

age = 30
# print("Age: " + age) # TypeError発生
print("Age: " + str(age)) # 正しく結合できる

このように、数値型や他のオブジェクト型と結合する場合は、str() などで明示的に文字列に変換する必要があります。


結合方法の選び方まとめ

方法特徴おすすめの用途
+ 演算子シンプルで直感的少数の文字列を結合するとき
join()高速で効率的複数の文字列を一括で結合
format()柔軟なテンプレート機能複数の値を挿入したいとき
f文字列簡潔で読みやすいPython 3.6以降での推奨方法
% フォーマット旧式だが簡単古いコードの読み書き
リスト+join高速結合の最適解大量の文字列処理やループ中の結合

まとめ

Pythonでは、目的や状況に応じてさまざまな文字列結合方法があります。初心者のうちは + や f文字列を使って慣れるのがよいですが、処理速度や大量データを意識するなら join() を使うべきです。コードの可読性とパフォーマンスの両立を意識して、自分に合った方法を選んでください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。