Pythonのprintのendのよくある3つの使い方

Pythonのprint関数にはオプション引数の「end=”」があります。これは基本的には、ある文字列の末尾に、任意の別の文字を埋め込むためのものです。

これを使いこなと、単純に末尾文字を指定するだけでなく、次のようなことができるようになります。

  • 複数の文字列の出力を改行なしで行う
  • 連結する複数の文字列の間の空白を消す
  • 連結する複数の文字列の間に新たな文字列を挿入する

それぞれよく見られるものなので、ぜひおさえておきましょう。

目次

1. オプション引数「end=”」のいちばんやさしい使いかた

それでは早速、オプション引数「end=”」の使いかたを見てみましょう。

まず次のように text という名前の変数に「あなたはカレーが好きです」という文字列を代入して、print関数で出力してみましょう。

In [1]:
#まず普通に文字列を出力してみましょう。
text = 'あなたはカレーが好きです'
print(text)
あなたはカレーが好きです

「end=”」を使って、この文字列の末尾に「か?」という新しい文字列を追加してみましょう。次のように、print関数の引数に、表示したい文字列である’text’を書いて、次にカンマで区切ってから末尾に追加したい文字列を「end=’か?’」と書きます。

Pythonのprint関数のオプション引数end=”の書き方

早速、確認してみましょう。

In [2]:
#「end=''」を使って文字列の意味を変えてみましょう。
text = 'あなたはカレーが好きです'
 
#末尾に疑問形である「か?」という文字列を追加します。
print(text, end='か?')
あなたはカレーが好きですか?

もともと変数’text’に代入されていた文字列の末尾に「か?」という新たな文字列が追加されて疑問文になりましたね。これがprint関数のオプション引数である「end=”」のいちばん基本的な使いかたです。

2. オプション引数「end=”」のよく見られる使いかた

冒頭でも、お伝えしましたが、print関数のオプション引数「end=”」には他にもよく見られる使いかたがあります。

それが、

  • 複数の文字列の出力を改行なしで行うための使いかた
  • 連結する複数の文字列の間の空白を消すための使いかた
  • 連結する複数の文字列の間に新たな文字列を挿入するための使い方

早速見てみましょう。

2.1. 複数の文字列の出力を改行しないで行う

Pythonのprint関数は、複数の文字列を出力すると、デフォルトでは次のように改行されて表示されます。

In [1]:
#文字列変数を2つ作ります。
text_a = 'あなたはカレーが'
text_b = '好きです。'
 
#これを別々に出力すると改行されて表示されます。
print(text_a)
print(text_b)
あなたはカレーが
好きです。

これを改行しないで出力する時は、オプション引数「end=”」のクオートの間には何も指定せずに次のように書きます。

In [2]:
#改行なしで出力したい時に「end=''」を使います。
print(text_a, end='')
print(text_b)
あなたはカレーが好きです。

改行なしで一行で出力されましたね。

なお改行については、『Pythonのprintで改行して出力する方法まとめ』、『Pythonのprintで改行しないで出力する方法まとめ』も併せてご確認ください。

2.2. 連結する複数の文字列の間の空白を消す

Pythonのprint関数の引数には、複数の文字列を同時に書くことができますが、その場合、デフォルトでは文字列の間に空白(半角スペース)が入ります。

In [1]:
#print関数に出力したい文字列を複数入れると、間に半角スペースが入ります。
text_c = 'わたしは'
text_d = 'からいものが'
text_e = '苦手です。'
print(text_c, text_d, text_e)
わたしは からいものが 苦手です。

オプション引数 end を使うと、この空白をなくすことができます。

In [2]:
#複数の文字列の間に空白を開けたくない場合にも使えます。
print(text_c, end='')
print(text_d, end='')
print(text_e)
わたしはからいものが苦手です。

ちなみに、「end=”」のクオートの中にスペースを入れると、文字列の間に空白が空きます。

In [3]:
#逆に複数の文字列の間に半角スペースを入れたい場合は、end=' ' で指定します。
print(text_c, end=' ') #半角スペースを指定しています。
print(text_d, end=' ')
print(text_e)
わたしは からいものが 苦手です。

なお次のように、文字列を連結する方法でも、空白をなくすことができます。

In [3]:
#なお文字列を「+演算子」で連結する方法でも空白を避けることができます。
print(text_c + text_d + text_e)
わたしはからいものが苦手です。

余談ですが、複数の文字列を空白なしで連結する時のいちばん良い書き方が次のものです。

In [4]:
#文字列の連結のいちばん良い書き方はこれです。
text_c = 'わたしは'
text_d = 'からいものが'
text_e = '苦手です。'
print(f'{text_c}{text_d}{text_e}')
わたしはからいものが苦手です。

これがいちばんコンピュータにとって負担が少ないきれいな書き方です。Pythonではこの書き方が自然とできるようになっていると「この人、腕がいいな」と一目置かれます。大量のコードになればなるほど、こうした小さな点が重要になっていくということを頭に入れておきましょう。

なお文字列の連結については『Pythonで文字列を連結/結合する方法まとめ』で、いろいろと解説していますので、ぜひご確認ください。

2.3. 連結する複数の文字列の間に新たな文字列を挿入する

もちろん「end=”」は空白や改行をコントロールするだけのものではありません。次のように、複数の文字列や数値を異なる文字でつなぐことができます。

In [1]:
#もちろんほかの文字列を追加することもできます。
num_1 = 10
num_2 = 15
num_3 = 5
num_4 = 85

#例えば、
print(num_1, end='+')
print(num_2, end='×')
print(num_3, end="=")
print(num_4)
10+15×5=85

ぜひ使いこなしてみてくださいね。

3. まとめ

Pythonのprint関数のオプション引数のendは、ここで解説している使いかたができるようになっていれば十分です。自分自身で、どんどんコードを書いて慣れていきましょう。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (4件)

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる