Python|文字列を連結・結合する基本的な方法

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()や+を選ぶ」ことです。
ぜひ、今回の知識を使って実践的なコードを書いてみてください。

タイトルとURLをコピーしました