サイトアイコン ITC Media

Pythonで文字列を連結する方法を場面別・具体例付きで解説

(最終更新日:2023年6月)

✔以下のような疑問を持つ方々経向けた記事です

「Pythonで文字列を連結する方法は何だろうか?」
「Pythonでの文字列連結の手法を詳しく知りたい」
「Pythonで文字列を連結する具体的な例を見てみたい」

✔当記事で学べること

当記事では、Pythonで文字列を連結する基本的な方法から、さまざまなオプションを使った応用例まで、具体的な例を交えて詳しく解説します。

最後までお読みいただければ幸いです。

筆者プロフィール

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Pythonでの文字列連結の基本

このセクションでは、Pythonでの文字列連結について解説していきます。

文字列連結とは、別々の文字列をつなげて一つの新しい文字列を作る行為のこと。

Pythonで文字列を効果的に連結する技術を身につけることで、より複雑で読みやすいコードを書けます。

文字列とは

文字列とは、一般的に、文字の並びを表現するデータ型の一つです。

Pythonでは、文字列はシングル(‘ ‘)もしくはダブル(” “)クォートで囲んだ文字の並びとして定義されます。

以下は文字列を変数に格納した例です。

string1 = 'Hello, World!'
string2 =  "Python"  

文字列は、プログラム内でテキストデータを扱う、多岐にわたるタスクで使われます。

文字列連結の必要性と活用事例

文字列の連結は、複数の文字列をひとつにまとめること。

より複雑な情報を表現するために使われます。

例を挙げると以下のとおりです。

Pythonにおける文字列連結は、そのシンプルさと明瞭さから、初学者にとっても理解しやすい特性を持っています。

この技術を習得することは、あなたがPythonの強力な文字列操作機能を最大限に活用するための重要な一歩となるでしょう。

複数文字列の連結方法

Pythonでの文字列連結の具体的な方法について詳しく説明していきます。

主に3つの方法について、その動作や最適なシチュエーションを見ていきましょう。

+演算子を使用した連結

Pythonで最も一般的に用いられる文字列連結の方法は、+演算子を使用する方法です。

これは数学的な足し算と同じように動作し、左辺の文字列と右辺の文字列を連結して新しい文字列を生成します。

str1 = "Hello"
str2 = "World"
str3 = str1 + ", " + str2 + "!"
print(str3) 
#出力は以下のとおり。
#"Hello, World!"

このコードスニペットでは、”Hello”と”, “と”World”と”!”の4つの文字列を連結して、”Hello, World!”という一つの新しい文字列を作り出しています。

+=演算子を使用した連結

また、+=演算子を使用して文字列を連結することも可能です。

+=演算子は、元の文字列に別の文字列を追加することで、元の文字列を変更します。

これは特にループ内で文字列を構築する際に便利です。

str1 = "Hello"
str1 += ", World!"
print(str1)  
#出力はこちら。
#"Hello, World!"

“Hello”という文字列を持つstr1に、”, World!”という文字列を追加しています。

結果的にstr1は”Hello, World!”という文字列になるのです。

「+=」は、既存の変数に別の文字列を追加する方法です。

文字列リテラルの連続使用による連結

Pythonでは、文字列リテラル(クォートで囲まれた文字)を直接連続して記述することで、それらを自動的に連結します。

この方法は、長い文字列を複数行に分割する際に特に便利です。

str1 = "Hello, " "World!"
print(str1)  
#出力は以下のとおり。
#"Hello, World!"

このコードでは、”Hello, “と”World!”という二つの文字列リテラルが直接連続して記述されています。

複数の文字列間にはどれだけスペースがあっても機能することがわかりました。

#スペースなし
>>> str1 = "Hello, ""World!"
>>> str1
'Hello, World!'

#スペース多め
>>> str1 = "Hello, "      "World!"
>>> str1
'Hello, World!'

数値と文字列の連結

数値と文字列を連結する方法について見ていきましょう。

これは、数値計算の結果を含むメッセージを表示するなど、プログラムの出力をカスタマイズする際に役立つ技術です。

具体的には、++=演算子とstr()関数を使用した連結と、format()やf文字列を用いた連結方法の二つを取り上げます。

+、+=演算子とstr()関数を使用した連結

直接文字列と数値の連結をおこなうと、Pythonは型エラーを出します。

なぜならPythonでは、違うデータ型を直接連結できないからです。

str()関数を使用して数値を文字列に変換すれば、文字列で統一され、連結が可能になります。

num = 2023
str1 = "Year: " + str(num)
print(str1)  

#出力
#"Year: 2023"

str()関数でnumを文字列に変換し、それを”Year: “に連結しています。

直接の連結では以下のようなエラーとなります。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

format()やf文字列を用いた連結方法

また、format()関数やf文字列(フォーマット済み文字列リテラル)を使用すると、数値を文字列に変換せずに直接文字列に埋め込めます。

format()関数を使用した例は以下の通りです。

num = 2023
str1 = "Year: {}".format(num)
print(str1)  

#出力
#"Year: 2023"

f文字列を使用した例はこちらです。

num = 2023
str1 = f"Year: {num}"
print(str1)  

#出力
#"Year: 2023"

数値が自動的に文字列に変換され、文字列内の特定の位置に挿入されています。

コードがより簡潔で読みやすくなり、おすすめの方法です。

リスト(配列)内の文字列の連結

リスト内の文字列を連結する方法を見ていきましょう。

要素のデータ型により方法は少し異なります。

文字列同士:join()

join()メソッドは、リスト内の全ての文字列をひとつの文字列に連結するのに便利な方法です。

構文としてはこちら。

“連結時に使う文字”.join(リスト)

このメソッドは、連結の際に間に挿入する文字列(通常は空白やカンマなど)を指定します。

以下が例です。

#半角スペースで連結
str_list = ["Python", "is", "awesome"]
str1 = " ".join(str_list)
print(str1)  

#出力
#"Python is awesome"

#「+」で連結
str2 = "+".join(str_list)
str2

#出力
#'Python+is+awesome'

リストstr_listの全ての要素を「空白文字」と「+」で連結する例です。

全ての項目をひとつずつ連結する必要がないため、コードがシンプルになります。

文字列と数値:join()とstr()

リスト内の要素をstr()関数で文字列にし、join()を使用します。

なぜならjoin()メソッドは文字列の連結に使うもので、数値を直接連結できないからです。

以下に具体的なコード例を示します。

num_list = [1, 2, 3, 4, 5]
str1 = "".join(str(i) for i in num_list)
print(str1) 
"12345"

処理はこちらのとおりです。

まとめ

当記事では、Pythonにおける文字列連結の各手法について学びました。

これらの手法は、文字列を扱う多くのシーンで重要な役割を果たします。

コードを読みやすくし、データ処理を効率化するために、適切な方法を活用してください。

文字列の学習を続けるにあたり、文字列のスライスや分割(split)といったテーマもあります。

Pythonの強力なライブラリであるPandasやNumpyについて学ぶことで、より高度なデータ処理を行うことが可能となるでしょう。

これらのテーマに関する記事も提供していきますので、ぜひ次回の学習にお役立てください。

【Python】文字列を結合するさまざまな手法を実例付きで解説
Pythonの文字列を結合する方法について知りたいですか?当記事では、Pythonの文字列を結合する方法について、さまざまな方法の書き方から実例までを一挙に解説しています。サンプルコードをみて手を動かしながら、学べるようになっています。初心者の方は必見です。
モバイルバージョンを終了