環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Pythonで文字列を結合する(+、join、format):f文字列に変数を代入してみよう

最終更新日 2023.02.18

Python では + で文字列を結合できます。

x = 'abc'
y = 'facebook'

z = x + y
print(z)  # abcfacebook

x と y の間に半角のスペースを入れたいときは次のようにします。

x = 'abc'
y = 'facebook'

z = x + ' ' + y
print(z)  # abc facebook

スペースがきちんと入りました。

Python の文字列リストは join で結合する

複数の文字列を特定の文字列を接着剤にして結合したいときは join を使います。

x = 'abc'
y = 'facebook'

z = ' '.join([x, y])
print(z)  # abc facebook

join は、接着剤にする文字列から関数を呼びだします。上のコードでも半角スペースという文字列から join を使っていますね。中にくっつけたい文字列のリストを入れます。次のコードはエラーです。

x = 'abc'
y = 'facebook'

z = ' '.join(x, y)
# TypeError: join() takes exactly one argument (2 given)

文字列をそのまま入れると TypeError になります。

問題:Python、JavaScript、Cをドルマークで結合しなさい

まずは文字列のリストを作り、ドルマークから join を呼びます。

x = ['Python', 'JavaScript', 'C']

y = '$'.join(x)

print(y)
# Python$JavaScript$C

Python の文字列はそのまま結合できる

Python の文字列は + で結合しますが、実は文字列をそのままつなげるだけで結合します。

x = 'Python''JavaScript'

print(x)

# PythonJavaScript

他のプログラミング言語からきた人は違和感を持つかもしれません。改行したいときはバックスラッシュを使います。

x = 'Python' \
    'JavaScript'

print(x)

# PythonJavaScript

Python の標準出力でよく使う format は文字列の結合に使える

Python プログラマーになって最初に驚いたことは format が文字列の結合に使えることでした。

x = 'I am {0}'.format('Apple')

print(x)
# I am Apple

Apple という文字列が {0} に入っています。複数の文字列を埋めこむことも可能です。

x = 'I am {0}. You are {1}.'.format('Steve', 'Jobs')

print(x)
# I am Steve. You are Jobs.

次の書き方はもっとトリッキーかもしれません。

a = 'Bill'

x = f'I am {a} Gates.'

print(x)
# I am Bill Gates.

文字列を宣言するときに f から始めると、その文字列に変数を埋めこむことができます。