Pythonのprintで改行して出力する方法まとめ

Pythonのprint関数で文字列や数値を出力する時に、任意の箇所で改行して表示したいことがあるでしょう。

ここでは、print関数で改行して出力する方法をまとめています。

Pythonにおけるprintでの改行について
Pythonでprint関数を使う時の改行については、他にも『Pythonのprintで改行しないで出力する方法まとめ』と、『Pythonのprintのendのよくある3つの使い方』でも扱っていますので、ぜひ併せてご確認ください。
目次

1. ‘\n’で改行して出力

Pythonでは、print()関数で出力する文字列に、改行コード’\n’を入れると改行することができます。次のコードをご覧ください。

In [1]:
#''\n'で改行です。
print("This is a\ntest string.")
This is a
test string.

‘\n’が入っているところで改行されて出力されていますね。

改行コードの’\n’は、変数の中に埋め込むこともできます。次のコードをご覧ください。

In [2]:
#\nは変数にも適用されます。
text_a = "This is a\ntest string."
print(text_a)
This is a
test string.

変数 text_a に代入した文字列の中に’\n’が入っているので、print関数で出力すると自動的に改行されます。

複数の文字列変数をprint()関数で出力する時に、改行を含めたい時は、オプション引数の’sep'(セパレータ)に改行コード’\n’を入れます。

In [3]:
text_b = "This is a"
text_c = "test string."
 
#こうすると一行で出力されます。
print(text_b, text_c)
 
#オプション引数'sep'で\nを渡して改行することができます。
print(text_b, text_c, sep="\n")
This is a test string.
This is a
test string.

変数の時も同様です。

In [4]:
#変数に改行コード\nを代入しておくこともできます。
text_d = "This is a \n"
text_e = "test string."
 
#確認しましょう。
print(text_d, text_e)
 
#文字列を連結した時も\nは残ります。
text_f = text_d + text_e
print(text_f)
This is a 
 test string.
This is a 
test string.

2. ‘\’でコード上のみで改行

print()関数での出力時は改行したくはないけども、コードを見やすくするためにコード上でのみ改行したい場合は’\’を使います。

In [5]:
#コード上のみで改行する場合は'\'を使います
print("This is a \
very long \
very very long \
string.")
This is a very long very very long string.

文字列を変数に代入する場合も同様です。

In [6]:
#変数にも適用されます。
text_g = "This is a \
very long \
very very long \
string."
 
#確認しましょう。
print(text_g)
This is a very long very very long string.

なおコード上のみで改行するには次の方法もあります。

In [7]:
#コード上のみで改行するには次の方法もあります。
print("This is a "
          "very long "
          "very very long "
          "string.")
This is a very long very very long string.

変数でも同様です。

In [8]:
#変数でも同じです。
text_h = "This is a"
text_i = "very long"
text_j = "very very long"
text_k = "string."

#確認しましょう。
print(text_h,
          text_i,
          text_j,
          text_k)
This is a very long very very long string.

これを改行コード’\n’と組み合わせると、次のようにコード上でも出力上でも改行することができます。

In [9]:
#これに\nを組み合わせることもできます。
print("This is a\n"
          "very long\n"
          "very very long\n"
          "string.")
This is a
very long
very very long
string.

変数に代入するには次のように書きます。

In [10]:
#変数の場合はこうします。
text_l = "This is a\n"
text_m = "very long\n"
text_n = "very very long\n"
text_o = "string.\n"

#確認しましょう。
print(text_l,
          text_m,
          text_n,
          text_o)
This is a
 very long
 very very long
 string.

3. クオート”’ ”’でコード上でも出力上でも改行

文字列の前後にクオート(‘)を3つずつ繋げると、コード上でも出力上でも改行することができます。なお、これはシングルクオートでもダブルクオート (“)でも構いません。

In [11]:
#クオート ' を前後に3つずつ繋げるとコード上でも出力上でも改行です。
text_p = """this is not a 
very long
string."""
 
#確認しましょう。
print(text_p)
this is not a 
very long
string.

ただし、次のようにコード上で行頭を揃えようとすると、出力した時に上部にスペースができてしまいます。

In [12]:
#行頭を揃えると出力時にスペースができてしまいます。
text_q = """
this is not a 
very long
string."""
 
#確認しましょう。
print(text_q)
this is not a 
very long
string.

その時は、次のように、最初の3つ続きのクオートの後に、\を入れると解消できます。

In [13]:
#\を入れるとこうすると防ぐことができます。
text_r = """\
this is not a 
very long
string."""
 
#確認しましょう。
print(text_r)
this is not a 
very long
string.



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

この記事を書いた人

コメント

コメント一覧 (1件)

  • 1から100までの素数を5行で出力したいです。どうすれば良いでしょうか。Pythonです

日野 へ返信する コメントをキャンセル

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

目次
閉じる