Python

Pythonのprint関数で改行させない方法

Pythonで改行なしでprintする方法:end オプション

Pythonの組込み関数である print のオプション end を使って改行を抑制します。

SANACHAN
SANACHAN
結果は分かりにくいですが、空の "" を指定することで改行が出力されなくなります。

 

end オプションが無いと、なぜ改行が出力されるのか?

少しだけ、Python 言語の実装を見てみましょう。
組込み関数 print は、Python/bltinmodule.c に実装されています。

指定できるオプションの配列 _keywords に end の文字列が入っており、
PyObject 型の end に値が格納されるようですね。

 

もう少しこの関数を読み進めると、以下のような処理が出てきます。

end オプションを指定していない場合 Py_None になり、end 変数に NULL が設定されます。
そして、end 変数が NULL の場合、「\n」が出力されるという流れですね。

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-Python
-, ,