Pythonのprint関数で文字列や数値を出力する時に、任意の箇所で改行して表示したいことがあるでしょう。
ここでは、print関数で改行して出力する方法をまとめています。
Pythonでprint関数を使う時の改行については、他にも『Pythonのprintで改行しないで出力する方法まとめ』と、『Pythonのprintのendのよくある3つの使い方』でも扱っていますので、ぜひ併せてご確認ください。
1. ‘\n’で改行して出力
Pythonでは、print()関数で出力する文字列に、改行コード’\n’を入れると改行することができます。次のコードをご覧ください。
#''\n'で改行です。
print("This is a\ntest string.")
‘\n’が入っているところで改行されて出力されていますね。
改行コードの’\n’は、変数の中に埋め込むこともできます。次のコードをご覧ください。
#\nは変数にも適用されます。
text_a = "This is a\ntest string."
print(text_a)
変数 text_a に代入した文字列の中に’\n’が入っているので、print関数で出力すると自動的に改行されます。
複数の文字列変数をprint()関数で出力する時に、改行を含めたい時は、オプション引数の’sep'(セパレータ)に改行コード’\n’を入れます。
text_b = "This is a"
text_c = "test string."
#こうすると一行で出力されます。
print(text_b, text_c)
#オプション引数'sep'で\nを渡して改行することができます。
print(text_b, text_c, sep="\n")
変数の時も同様です。
#変数に改行コード\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)
2. ‘\’でコード上のみで改行
print()関数での出力時は改行したくはないけども、コードを見やすくするためにコード上でのみ改行したい場合は’\’を使います。
#コード上のみで改行する場合は'\'を使います
print("This is a \
very long \
very very long \
string.")
文字列を変数に代入する場合も同様です。
#変数にも適用されます。
text_g = "This is a \
very long \
very very long \
string."
#確認しましょう。
print(text_g)
なおコード上のみで改行するには次の方法もあります。
#コード上のみで改行するには次の方法もあります。
print("This is a "
"very long "
"very very long "
"string.")
変数でも同様です。
#変数でも同じです。
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)
これを改行コード’\n’と組み合わせると、次のようにコード上でも出力上でも改行することができます。
#これに\nを組み合わせることもできます。
print("This is a\n"
"very long\n"
"very very long\n"
"string.")
変数に代入するには次のように書きます。
#変数の場合はこうします。
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)
3. クオート”’ ”’でコード上でも出力上でも改行
文字列の前後にクオート(‘)を3つずつ繋げると、コード上でも出力上でも改行することができます。なお、これはシングルクオートでもダブルクオート (“)でも構いません。
#クオート ' を前後に3つずつ繋げるとコード上でも出力上でも改行です。
text_p = """this is not a
very long
string."""
#確認しましょう。
print(text_p)
ただし、次のようにコード上で行頭を揃えようとすると、出力した時に上部にスペースができてしまいます。
#行頭を揃えると出力時にスペースができてしまいます。
text_q = """
this is not a
very long
string."""
#確認しましょう。
print(text_q)
その時は、次のように、最初の3つ続きのクオートの後に、\を入れると解消できます。
#\を入れるとこうすると防ぐことができます。
text_r = """\
this is not a
very long
string."""
#確認しましょう。
print(text_r)
コメント
コメント一覧 (1件)
1から100までの素数を5行で出力したいです。どうすれば良いでしょうか。Pythonです