1. はじめに
Pythonでは、文字列を連結・結合する機会が非常に多くあります。たとえば、ユーザーの入力を加工したり、ファイル名を動的に生成したり、ログ出力を整理する場面など、実務でも頻出する操作です。
本記事では、Python初心者〜中級者向けに、文字列を連結・結合する基本的な方法を丁寧に解説します。
複数の方法を実行結果付きで比較しながら、よく使うテクニックと注意点も紹介します。
2. Pythonにおける文字列の連結・結合の基本
2-1. +演算子を使った文字列連結
最も基本的な方法は、+
演算子による文字列の結合です。
first_name = "Taro"
last_name = "Yamada"
full_name = first_name + " " + last_name
print(full_name)
実行結果:
Taro Yamada
2-2. join()メソッドを使った結合
複数の文字列をまとめて結合する場合は、join()
メソッドが便利です。
words = ["Python", "is", "fun"]
sentence = " ".join(words)
print(sentence)
実行結果:
Python is fun
2-3. f文字列(フォーマット文字列)による連結
Python 3.6以降では、f文字列(f-string)
を使うことで、簡潔に変数を埋め込む形で文字列を結合できます。
name = "Hanako"
age = 25
message = f"{name} is {age} years old."
print(message)
実行結果:
Hanako is 25 years old.
3. よくある使い方・応用例
3-1. ユーザー入力を連結してメッセージを作成
user = "Alice"
action = "logged in"
log_message = f"User: {user} - Status: {action}"
print(log_message)
実行結果:
User: Alice - Status: logged in
3-2. ファイルパスの構築(os.path.join との違い)
文字列連結でファイルパスを構築する場合もありますが、os.path.join
を使うほうがOSに依存しない安全な書き方です。
import os
folder = "documents"
filename = "report.txt"
# 推奨されない方法
path1 = folder + "/" + filename
# 推奨される方法
path2 = os.path.join(folder, filename)
print("手動連結:", path1)
print("os.path.join:", path2)
実行結果:
手動連結: documents/report.txt
os.path.join: documents/report.txt
3-3. 数値と文字列を結合する
数値をそのまま文字列と連結しようとするとエラーになるため、明示的な型変換が必要です。
score = 90
# print("Your score is " + score) ← エラーになる
# 正しい方法①
message1 = "Your score is " + str(score)
# 正しい方法②(f文字列)
message2 = f"Your score is {score}"
print(message1)
print(message2)
実行結果:
Your score is 90
Your score is 90
4. 注意点・エラー対策
4-1. データ型に注意しよう(TypeError)
文字列と他のデータ型(int, floatなど)を+
で直接連結しようとすると、TypeErrorが発生します。
Pythonは自動で型変換してくれないため、自分でstr()
関数を使いましょう。
4-2. join()は文字列リスト専用
join()
は文字列のみを要素とするリストに使えます。数値などが混在している場合は、事前に文字列化する必要があります。
items = ["apple", 100, "yen"]
# print(" ".join(items)) ← エラー
# 解決方法
converted = [str(i) for i in items]
print(" ".join(converted))
実行結果:
apple 100 yen
5. まとめ
- +演算子はシンプルで直感的だが、複数回の連結には非効率
- join()は複数要素の結合に向いており、ループ処理と相性が良い
- f文字列はフォーマットの可読性が高く、実務で最もおすすめ
- 文字列以外の型を結合する際はstr()で明示的に変換すること
文字列の連結はPythonプログラミングにおいて基本中の基本です。
ログ生成、メッセージの組み立て、ファイル名の動的生成など、実務でもよく使われます。
学習のコツは、「f文字列でまず書いてみて、必要に応じてjoin()や+を選ぶ」ことです。
ぜひ、今回の知識を使って実践的なコードを書いてみてください。