Python

Pythonで文字列を結合する方法

By 2021年1月30日March 22nd, 2021No Comments

Pythonで文字列を結合して表示さすにはいくつかの方法があります。こちらの記事ではそれらの方法を解説します。

演算子(+, +=)を使う方法やjoin( )メソッド、format( )メソッドを使う方法など文字列を結合する様々な方法があります。一つ一つチェックしてみましょう。

演算子(+, +=)を使って文字列を結合する方法 

+演算子で文字列を結合するには下記の構文で表すことができます。

“文字列1” + “文字列2” + “文字列3”

print( 'みなさん' + 'こんにちは' + '。' )

結果: 

みなさんこんにちは。


+演算子で文字列を結合することができました。

変数を使用して+演算子で文字列を結合することもできます。

下記の構文で表すことができます。

変数 + 変数 + 変数

hello1 = 'みなさん'
hello2 = 'こんにちは'
hello3 = '。'
print( hello1 + hello2 + hello3 )

結果:

みなさんこんにちは。


さらに、+=演算子で結合する方法です。

hello1 = 'みなさん'
hello2 = 'こんにちは'
hello3 = '。'
hello1+= hello2 + hello3
print(hello1)

結果:

みなさんこんにちは。


文字列の数値を変換することができるstr()

文字列と数値も結合することができますが、そのまま結合するとエラーが出てしまうので数値と文字列を結合するにはstr( )を使う必要があります。

time = 10
print("みなさんこんにちは" + str(time) + "時です。")

結果:

みなさんこんにちは10時です。


ちなみにPythonの場合は文字列同士を結合させたい場合は演算子(+, +=)を使わなくても、文字列を結合することができます。

hello = 'みなさん''こんにちは''。'
print(hello)

結果:

みなさんこんにちは。


このように文字列を演算子(+, +=)で結合することができました。演算子(+, +=)で文字列を結合する方法は比較的に短い文字列を結合するのに便利な方法です。

join( )メソッドを使ってリスト内やタプルの文字列を結合する方法

リスト内やタプルの文字列を結合するにはjoin( )メソッドを使います。join( )メソッドはリスト内やタプルの文字列を結合するだけではなく、文字列の間に区切り文字をいれる事ができます。下記の構文で表すことができます。

“”.join(リストまたはタプル )

まずは、リスト内の文字列を結合する方法です。join( )メソッドでリスト内の文字列を結合します。

list = ["みなさん", "こんにちは", "。"] 
hello = "".join(list)
print(hello)

結果:

みなさんこんにちは。


そして、下記のように様々な区切り文字をいれることができます。

hello = '/'.join(list)
print(hello)

結果:

みなさん/こんにちは/。


段落をつけることもできます。

hello = '\n'.join(list)
print(hello)

結果:

みなさん

こんにちは


空スペースをあけることもできます。

hello = ' '.join(list)
print(hello)

結果:

みなさん こんにちは 。


リストの中の文字列を結合する時に数値がはいっている場合はエラーが出てしまうのでmap( )関数を使う必要があります。map( )関数を使いリストの要素を文字列に変換します。

map(str関数, リストの名前)

list = ['みなさん', 'こんにちは', '10', '時', 'です', '。']
list = map(str, list)
str = ''.join(list)
print(str)

結果:

みなさんこんにちは10時です。


タプルでも区切り文字や使い方はリストと同じです。

tuple = ('ヤマダ', 'タナカ', 'ウエダ')
tuple2 = ','.join(tuple)
print(tuple2)

結果:

ヤマダ, タナカ, ウエダ


join( )メソッドは 、このようにリスト内やタプルの文字列の要素や数値を結合したい時に使うことができます。この使い方を応用してパスを結合するときにjoin( )メソッドが使われたりもします。

format( )メソッドを使って文字列の中に文字を埋め込み結合する方法

format( )メソッドを使うと、文字列の中に文字を埋め込んで結合することができます。下記の構文で表すことができます。

変数.format( )

hello = 'みなさん{0}'.format('こんにちは。')
print(hello)

結果:

みなさんこんには。


変数を作り文字列の中に埋め込むこともできます。

text = "「みなさんこんにちは」と{}君と{}君と{}君が挨拶します。"
name1 = "ヤマダ"
name2 = "タナカ"
name3 = "ウエダ"
print(text.format(name1, name2, name3))

結果:

「みなさんこんにちは」とヤマダ君とタナカ君とウエダ君が挨拶します。


format( )メソッドを使えば文字列と数値を結合する時もstr( )関数を使う必要がありません。

name = "タナカ"
time = 10
sentence = "{}君は、「みなさんこんにちは。」と{}時に挨拶しました。"
text = sentence.format(name, time)
print(text)

結果:

タナカ君は、「みなさんこんにちは。」と10時に挨拶しました。


リストの要素も文字列の中に埋め込むこともできます。

sentence ="「みなさんこんにちは」と{}君と{}君と{}君が挨拶します。"
list = ['タナカ', 'ヤマダ', 'ウエダ']
print(sentence.format(list))

結果:

「みなさんこんにちは」とヤマダ君とタナカ君とウエダ君が挨拶します。


このようにformat( )メソッドは文字列の中に文字や変数、数値を出力して埋め込む方法です。format( )メソッドは文字列が決まっていて一部のキーワードのみを変更するだけでいいということもあり学校の生徒の成績と名前を管理保存したりするのに使うことができます。

f文字列(f-strings)を使うと文字列の中に文字をより簡単に埋めこむ事ができる

さらに簡単に文字列中に文字を埋め込む方法としてPython3.6から導入されたf文字列(f-strings)を使うと文字列に変数をそのまま指定できます。構文は下記になります

f'{変数}文字列’  

name1 = 'ヤマダ'
name2 = 'タナカ'
name3 = 'ウエダ'
f'「みなさんこんにちは」と{name1}と{name2}と{name3}が挨拶します。'

結果:

「みなさんこんにちは」とヤマダ君とタナカ君とウエダ君が挨拶します。


このように、より簡易的に文字列の中に変数を埋め込む事ができました。

まとめ

いかがだったでしょうか?Pythonの文字列を結合する方法でした。

演算子(+, +=)…文字列と文字列をシンプルに結合させたい時に使います。

join( )…リスト内やタプルの文字列を結合させたい時に使います。

format( )…文字列の中に文字を埋め込んで結合する時に使います。

f文字列(f-strings)…より簡易的に文字列の中に文字を埋め込める。

以上、Pythonで演算子(+, +=)やjoin( )メソッド、format( )メソッド、f文字列(f-strings)使用して文字列を結合する方法でした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL