このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】文字列リテラルの連結

Pythonの基本的なデータ型:文字列リテラルの連結

 Pythonでは、複数の文字列リテラルを並べることで自動的に連結(結合)される便利な機能があります。この機能を活用することで、長いテキストを複数行に分けて記述することができ、コードの可読性を向上させることが可能です。また、+ 演算子を使用して文字列を連結する方法もあります。以下で、文字列リテラルの連結方法について順を追って解説します。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.隣接する文字列リテラルの自動連結

 Pythonでは、複数の文字列リテラルを何も演算子なしで並べると、自動的に連結されます。例えば、以下のコードは二つの文字列リテラルが連結され、1つの文字列として認識されます。

print('こんにちは、' 'Python!')

このコードを実行すると、出力は

こんにちは、Python!

 となります。隣り合うリテラルは、空白、タブ、もしくは改行で区切られていても同じように連結されます。

2.括弧を利用した複数行での連結

 長いテキストを1行にまとめるのが難しい場合、括弧で囲み、改行しながら複数行にわたって書くこともできます。Pythonは自動的に連結してくれます。以下の例は、print の引数として複数行に分かれた文字列リテラルを連結して表示します。

print(
    'これは非常に長いテキストで、'
    '複数行に分けて記述しています。'
    'Pythonは自動的にこれらを1つの文字列として扱います。'
)

このコードを実行すると、出力は

これは非常に長いテキストで、複数行に分けて記述しています。Pythonは自動的にこれらを1つの文字列として扱います。

となり、改行や空白があっても、1つの文字列として扱われます。

3.+ 演算子を使った連結

 文字列同士は + 演算子を使っても連結することができます。+ はもともと加算の演算子ですが、文字列に対しては連結を意味します。以下のコードは、'こんにちは、''Python!' を連結して表示します。

print('こんにちは、' + 'Python!')

実行結果は、

こんにちは、Python!

と出力されます。

 なお、+ 演算子を利用する場合、各文字列が明示的に連結されるため、両者の間に余計な空白が入らない点に留意が必要です(空白が必要なら、リテラル内に含めるか、+ 演算子で連結する前に空白を加えます)。

4.連結方法の違いとその使い分け

以下の表に、文字列連結の2つの主要な方法と特徴をまとめます。

連結方法記法例特徴・用途
隣接する文字列リテラルの連結'こんにちは、' 'Python!'漢字、空白、タブ、改行があっても自動連結。コードがすっきり記述できる。
+ 演算子による連結'こんにちは、' + ' Python!'明示的に連結を行う。連結時の空白管理が柔軟になるが、記述が多少煩雑になる場合がある。

5.文字列リテラルの連結を活用した例

例1:長いメッセージの連結

print(
    'これは非常に長いメッセージで、'
    '複数行に分けて記述しています。'
    'Pythonはこれらを自動的に連結して表示します。'
)

実行結果

これは非常に長いメッセージで、複数行に分けて記述しています。Pythonはこれらを自動的に連結して表示します。

例2:+ 演算子を使った連結

greeting = 'おはようございます、' + 'Pythonエンジニア!'
print(greeting)

実行結果

おはようございます、Pythonエンジニア!

例3:エスケープシーケンスと連結の組み合わせ

message = 'Pythonは\'シングルクオート\'と"ダブルクオート"の両方をサポートします。'
print(message)

実行結果

Pythonは'シングルクオート'と"ダブルクオート"の両方をサポートします。

まとめ

ここでは、Pythonにおける文字列リテラルの連結方法について学びました。

  • 隣接する文字列リテラルの連結では、何も演算子を使わずに並べると自動的に1つの文字列として結合されます。
  • 括弧を利用した複数行での連結は、長いテキストを分割して書く際に特に有用です。
  • + 演算子を使った連結は、明示的に文字列を結合する方法で、より柔軟な連結が可能です。
  • エスケープシーケンスを利用することで、文字列内にシングルクオートやダブルクオートを含めることができます。

 これらの連結方法を適切に使い分けることで、コードの可読性と効率性を高めることができます。次のコンテンツでは、複数行のテキストを扱いたい場合について詳しく解説していきます。ぜひ、実際にコードを書いて、それぞれの連結方法を試してみてください。