リキッドジャンパー Python 【Python 3】print関数のオプション[end=””]の使い方|末尾に文字列を付け足し・改行なしで出力

【Python 3】print関数のオプション[end=””]の使い方|末尾に文字列を付け足し・改行なしで出力

python_print-end_topimage

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/




BTOパソコンの草分け的ブランドFRONTIER(フロンティア)

教育機関や研究施設/3DCG/動画編集/そしてゲームプレイに。
用途に合わせてCPUやGPUなどパーツを自由に選べて、コスパにもこだわる方にオススメ。

ボーナス祭!開催中\GeForce RTX 3070 Tiなど最新GPUを搭載した人気モデルが超特価で登場!/6/25(金)15時まで

≪GeForce RTX 3070 Ti≫≪GeForce RTX 3080 Ti≫を搭載した高性能PCが衝撃コスパで購入できます。

Core i7 + RTX 3060モデルが税込16万円台、Ryzen 7 + RTX 3070モデルが21万円台、Core i7 + GTX 1660モデルが12万円台、Core i7 + RTX 3070 Tiモデルが22万円台

≪全18機種≫見逃し厳禁!SALE製品は台数に限りがあるので売り切れる前に是非

>>【FRONTIER】


【デジハリONLINEの 基礎動画 + AdobeCC一年ライセンス のお得プラン】

デジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する、60時間の基礎動画とAdobe creative cloudの一年版ライセンスがパッケージされた、コスパ最強の講座プラン

「Adobeマスター講座」

受講ノルマは一切無し、Adobe製品の利用を目的に契約してもOK!

>>デジハリONLINE講座申込

▶︎基礎動画教材付きAdobe Creative Cloudを年額39,980円(税込)のお得な価格で使用する方法


Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事