Python: 文字列を連結する +, +=

Pythonで文字列を連結する方法を紹介します。 通常は「+」演算子を使って連結しますが、 自分自身と他の文字列を結合する場合は「+=」演算子も使用できます。

「+」演算子: 文字列を連結

Pythonで文字列を連結する場合は「+」演算子を使います。 「+」演算子は「+」の左右が数値の場合には数値の加算を行いますが、 「+」の左右が文字列の場合には文字列を連結します。

s = "hello" + " world!"

print(s) # hello world!

2つの文字列だけでなく、3つ以上の文字列連結もできます。

s = "a" + "b" + "c"

print(s) # abc

文字列型と数値型の連結はエラーになる

Pythonでは文字列型と数値型を連結しようとするとエラーになります (JavaScriptなど、自動で変換してくれる言語もありますが、 Pythonではエラーになります)。

# エラーになる
s = 100 + "円です。"  

# エラーメッセージ
TypeError: unsupported operand type(s) for +: 'int' and 'str'

この場合は、次のようにstr()関数を使って、 数値型をで文字列型に変換する必要があります。

s = str(100) + "円です。"

print(s)  # 100円です。

「+=」演算子: 自分自身と他の文字列を連結

「+=」演算子を使うと、自分自身と他の文字列を連結させることができます。

まずは「+」演算子を使った例です。

s = "hello"
s = s + " world!"
print(s) # hello world!

上のコードは「+=」演算子を使うと次のように記述できます。 「+=」の左側に自分自身、右側に連結したい文字列を記述します。

s = "hello"
s += " world!"
print(s) # hello world!

つまり次の2つの行は同じ意味です。 「+=」演算子を使うとコードがシンプルになります。

s = s + "文字列"

s += "文字列"
Python