Pythonでテキストや数字、結果を出力する関数の print ですが、Python3のprintはオプションの[end = “”]を使用する事ができます。
print()でオプションの end = “” を使用すると
・文字列の末尾に、文字列を追加して出力
・複数のprintを改行無しで出力
のような事が行えます。
この記事では、Pythonを学習する際に、最初に覚える関数 print のオプション[end = “”]の使い方を紹介。
単純に文字列をそのまんま出力するだけに使用していたprintも、今回紹介するオプション[end = “”]を使用する事で、使い勝手も大分変わると思うので、是非参考にしてみてください。
|
Python-print関数のオプション[end=””]の使い方
あらためて、Pythonのprint関数の基本的な使い方をおさらいすると、
print関数は、文字列の場合は「”」又は「””」で囲み、数値の場合は()に直接、その他に、文字列と変数を組み合わせた文字列を指定できます。
print("A B C D E") #文字列の出力
print(12345) #数値の出力
addition = 123 + 456
print("123 + 456 の合計は:{}" .format(addition)) # 変数に代入した値の出力
実行:
文字列、数値、文字列と変数の組み合わせた文字列が、それぞれ“改行”され順番に出力されました。
A B C D E
12345
123 + 456 の合計は:579
末尾に文字列を追加して出力
printのオプション end = ” “ の使い方の1つは、
テキストの末尾に文字列を追加して出力
様々な処理をした結果をprintで出力する際、末尾に「”です。”」や「”という結果になりました。”」のような定型文を追加して出力するのに便利な使い方です。
オプションend = ” “ は、print()の中で”出力する文字列”のあとに「,」で区切り、「end = “追加する文字列” 」のように記述します。
print(“出力する文字列” , end = “追加する文字列”)
print("1 2 3 4 5 ",end="A B C D E")
実行:
“出力する文字列” 「“1 2 3 4 5 “」の末尾に”追加する文字列”「A B C D E」が追加され出力されました。
1 2 3 4 5 A B C D E
複数のprint出力を改行なしで実行
printのオプション end = “” の別の使い方として、
複数のprintを改行なしで出力
というのもあります。
普段余り気にはしませんが、print関数は、文字列や数値などを出力すると最後に改行が入ります。
試しにprintに文字列を指定し2回続けて実行してみましょう。
print("1 2 3 4 5 ")
print("A B C D E")
実行:
指定した文字列がprint毎に改行されて出力されました。
1 2 3 4 5
A B C D E
print毎に出力される文字列が改行される事は問題ないのですが、もし改行を入れたくない場合は、print関数にオプションの end = “” を設定します。
先程と同じ文字列をprintに指定し、1行目のprintにオプション end = “” を設定しました。
print("1 2 3 4 5 ",end = "")
print("A B C D E")
実行:
1つ目のprintで出力される文字列に改行が無い為、1行目と2行目が横並びで出力されました。
1 2 3 4 5 A B C D E
for文でprint(“文字列”,end = “”)を使用
print(“文字列”,end = “”)で改行を入れずに出力できる事が分かりました。
これを利用すればprintで出力する文字列の並びを自在にコントロールする事ができます。
例えばfor文を使い数値を順番にprint出力した場合、通常であればprint毎に改行が入るため、数字が縦に並ぶはず
for i in range(5):
print(i)
実行:
print毎に改行が入るので、数字が“縦”に並びました。
0
1
2
3
4
次はprintにオプション end = “” を設定して、for文で同じ様に出力してみましょう。
for i in range(5):
print(i,end="")
実行:
先程は数字が“縦”に並んで出力されましたが、今度はprint毎の改行が無くなり“横一列”で出力されました。
01234
|
Python-print関数のオプションend=””の応用: printing patterns
print関数のオプションend=””の機能を説明しました。
・オプションを設定しなければ、printの後に改行を付けて出力
・オプション end=”” を設定すると、改行無しで出力
printで出力する文字列の並びをコントロールできる特性を利用した、文字列を階段状やピラミッド状など指定した順番に並べて出力する問題があります。
「python printing patterns」で検索すれば、様々な問題を見つける事ができます。
Pythonプログラミングのスキルアップにもなるので、是非チャレンジしてみてはいかがでしょう。
例えばfor文と printを使った次のコードを実行すると
for i in range(1,5):
for j_i in range(i):
print(j_i, end = "")
print()
実行:
数字が階段状に出力されました。
0
01
012
0123
では腕試しとして、次の問題を説いてみてください。
*
* *
* * *
* * * *
* * * * *
*
* *
* * *
* * * *
* * * * *
問題・答え参照サイト
>>https://www.geeksforgeeks.org/programs-printing-pyramid-patterns-python/
|
自宅からでもWeb制作・プログラミング・アプリ開発などが習得できるさまざまなコースをラインナップ。
非エンジニアでスキルを磨きたい方から、フリーランス、就職/転職を目指す方まで、専属のメンターがサポート。
最近は副業ブームもあり「 はじめての副業コース 」が人気です。
|
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
|
|
|
|
|