Pythonのprint関数にはオプション引数の「end=”」があります。これは基本的には、ある文字列の末尾に、任意の別の文字を埋め込むためのものです。
これを使いこなと、単純に末尾文字を指定するだけでなく、次のようなことができるようになります。
- 複数の文字列の出力を改行なしで行う
- 連結する複数の文字列の間の空白を消す
- 連結する複数の文字列の間に新たな文字列を挿入する
それぞれよく見られるものなので、ぜひおさえておきましょう。
1. オプション引数「end=”」のいちばんやさしい使いかた
それでは早速、オプション引数「end=”」の使いかたを見てみましょう。
まず次のように text という名前の変数に「あなたはカレーが好きです」という文字列を代入して、print関数で出力してみましょう。
#まず普通に文字列を出力してみましょう。
text = 'あなたはカレーが好きです'
print(text)
「end=”」を使って、この文字列の末尾に「か?」という新しい文字列を追加してみましょう。次のように、print関数の引数に、表示したい文字列である’text’を書いて、次にカンマで区切ってから末尾に追加したい文字列を「end=’か?’」と書きます。
早速、確認してみましょう。
#「end=''」を使って文字列の意味を変えてみましょう。
text = 'あなたはカレーが好きです'
#末尾に疑問形である「か?」という文字列を追加します。
print(text, end='か?')
もともと変数’text’に代入されていた文字列の末尾に「か?」という新たな文字列が追加されて疑問文になりましたね。これがprint関数のオプション引数である「end=”」のいちばん基本的な使いかたです。
2. オプション引数「end=”」のよく見られる使いかた
冒頭でも、お伝えしましたが、print関数のオプション引数「end=”」には他にもよく見られる使いかたがあります。
それが、
- 複数の文字列の出力を改行なしで行うための使いかた
- 連結する複数の文字列の間の空白を消すための使いかた
- 連結する複数の文字列の間に新たな文字列を挿入するための使い方
早速見てみましょう。
2.1. 複数の文字列の出力を改行しないで行う
Pythonのprint関数は、複数の文字列を出力すると、デフォルトでは次のように改行されて表示されます。
#文字列変数を2つ作ります。
text_a = 'あなたはカレーが'
text_b = '好きです。'
#これを別々に出力すると改行されて表示されます。
print(text_a)
print(text_b)
これを改行しないで出力する時は、オプション引数「end=”」のクオートの間には何も指定せずに次のように書きます。
#改行なしで出力したい時に「end=''」を使います。
print(text_a, end='')
print(text_b)
改行なしで一行で出力されましたね。
なお改行については、『Pythonのprintで改行して出力する方法まとめ』、『Pythonのprintで改行しないで出力する方法まとめ』も併せてご確認ください。
2.2. 連結する複数の文字列の間の空白を消す
Pythonのprint関数の引数には、複数の文字列を同時に書くことができますが、その場合、デフォルトでは文字列の間に空白(半角スペース)が入ります。
#print関数に出力したい文字列を複数入れると、間に半角スペースが入ります。
text_c = 'わたしは'
text_d = 'からいものが'
text_e = '苦手です。'
print(text_c, text_d, text_e)
オプション引数 end を使うと、この空白をなくすことができます。
#複数の文字列の間に空白を開けたくない場合にも使えます。
print(text_c, end='')
print(text_d, end='')
print(text_e)
ちなみに、「end=”」のクオートの中にスペースを入れると、文字列の間に空白が空きます。
#逆に複数の文字列の間に半角スペースを入れたい場合は、end=' ' で指定します。
print(text_c, end=' ') #半角スペースを指定しています。
print(text_d, end=' ')
print(text_e)
なお次のように、文字列を連結する方法でも、空白をなくすことができます。
#なお文字列を「+演算子」で連結する方法でも空白を避けることができます。
print(text_c + text_d + text_e)
余談ですが、複数の文字列を空白なしで連結する時のいちばん良い書き方が次のものです。
#文字列の連結のいちばん良い書き方はこれです。
text_c = 'わたしは'
text_d = 'からいものが'
text_e = '苦手です。'
print(f'{text_c}{text_d}{text_e}')
これがいちばんコンピュータにとって負担が少ないきれいな書き方です。Pythonではこの書き方が自然とできるようになっていると「この人、腕がいいな」と一目置かれます。大量のコードになればなるほど、こうした小さな点が重要になっていくということを頭に入れておきましょう。
なお文字列の連結については『Pythonで文字列を連結/結合する方法まとめ』で、いろいろと解説していますので、ぜひご確認ください。
2.3. 連結する複数の文字列の間に新たな文字列を挿入する
もちろん「end=”」は空白や改行をコントロールするだけのものではありません。次のように、複数の文字列や数値を異なる文字でつなぐことができます。
#もちろんほかの文字列を追加することもできます。
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)
ぜひ使いこなしてみてくださいね。
3. まとめ
Pythonのprint関数のオプション引数のendは、ここで解説している使いかたができるようになっていれば十分です。自分自身で、どんどんコードを書いて慣れていきましょう。
コメント
コメント一覧 (4件)
END=”の使い方が良くわかりました。
ありがとう御座います
ちょうど、endの使い方について調べていたところ、いい記事にたどりつきました。ありがとうございます。
丁寧な解説でした。
このサイトには度々お世話になってます。^^
print(f”~”) 構文分かりやすかったです!