pythonで改行の制御コード 改行なしでprint

Pythonの改行方法

Pythonの改行について

Pythonで「改行2回したいんだけど」とか、「改行せずに次の文表示したいんだけど」というケースがありますね。

Pythonで改行するには、改行コードを使う方法と、print関数でendコードを使う方法があります。

print関数での改行方法

print関数での改行方法

  • 改行コードを使う

Pythonの改行コードは、\n です。\nを文字列の中に入れると改行することができます。

# 改行コードを使う
print("Hello, world!\nThis is a new line.")

このコードを実行すると、以下の出力が得られます。

Hello, world!
This is a new line.

pythonで改行しない方法

デフォだと、何もしなくてもprint()関数の出力は改行されます。endパラメータを使うと、改行を制御できます。bashなどで言うところの「echo -n」っぽい指定方法ですね。

print()関数のendパラメータに改行コード以外の文字を指定することで、改行なしで、その文字で出力を終了することができます。

# print()関数のendパラメータを使う
print("Hello, world!", end="")
print("This is a new line.")

このコードを実行すると、以下の出力が得られます。

Hello, world!This is a new line.

また、print()関数のendパラメータに None を指定することで、改行コードなしで出力を終了することもできます。

# print()関数のendパラメータにNoneを指定
print("Hello, world!", end=None)
print("This is a new line.")

このコードを実行すると、以下の出力が得られます。

Hello, world!This is a new line.

この方法は、処理の進行に応じてメッセージを出したいときに向いてます。進行状況を出したいだけなら、プログレスバーを使うのがスマートかも知れないですね。

関連)Pythonのtqdmの使い方 プログレスバーを表示

好きなタイミングで改行を入れるもっと一般的な、というか汎用的な方法は、変数に表示したい文字列をどんどんどん足していって、最後に変数を一気に表示するという方法です。デバッグもし易いですね。

上記の例を書き直すとこうなります。

str="Hello, world!"
str+="This is a new line.\n"
print( str )

実行するとこうなります。

Hello, world!This is a new line.