Pythonでprint文を使うと、初期設定では自動的に改行されますが、ちょっとした出力調整や横並び表示をしたいときに不便を感じたことはないでしょうか。実は、endパラメータやsys.stdout.writeを使えば、簡単に改行なしの表示が可能です。
本記事ではPythonで改行せずに出力する方法をわかりやすく解説し、すぐに使えるコピペ用テンプレートも紹介します。
Pythonのprint関数は初期設定で改行される
Pythonでよく使うのが「print()関数」で、使用例は以下です。
print(“こんにちは”)
print(“世界”)
結果:
こんにちは
世界
1行目と2行目の間に改行が入ってしまうのは、自動的に末尾に改行文字(\n)を追加しているからです。
改行させたくない場合は、「endパラメータ」を活用します。
このendは、「出力の最後に何を付けるか」を指定するためのオプションで、初期値は\n(改行)です。
改行を防ぐには、次のようにend=”を指定します。
print(“こんにちは”, end=”)
print(“世界”)
結果:
こんにちは世界
なお、Pythonの基礎ライブラリである「pandas」について興味のある方は、ぜひ以下の記事も参考にしてください。
Pythonのprintで改行なしにする方法一覧
ここでは、前述した方法のほか、Pythonで改行なしにする方法をご紹介します。
| 方法 | 対応バージョン | ポイント |
|---|---|---|
| endパラメータを指定する | Python 3 | 改行文字をprint()の末尾に追加しないよう制御できる。最も一般的な方法。 |
| カンマ区切りを使う | Python 2 | カンマを付けると改行が抑制される。 現代においては主流ではない書き方。 |
| sys.stdout.write を使う | Python 2 / 3 | 出力内容を細かく制御可能。 低レベルな出力処理。 |
| for文で改行を行う | Python 2 / 3 | ループ内でend=””を指定することで、要素を横並びに出力可能。 数列や文字列を改行せず連結したいときに便利。 |
Python 3の場合
Python 3なら、「endパラメータ」を指定することで。改行を防げます。endパラメータを使う基本例を、以下に記します。
print(“こんにちは”, end=”)
print(“世界”)
結果:
こんにちは世界
空白で切ると、コードは以下です。
print(“こんにちは”, end=’ ‘)
print(“世界”)
結果:
こんにちは 世界
Python 2の場合
Python 2の場合、末尾にカンマ(,)を付けます。
print “こんにちは”,
print “世界”
結果:
こんにちは 世界
カンマを付けることで、改行の代わりに空白が挿入されるのが、Python 2の特徴です。
sys.stdout.writeを使う
以下は、sys.stdout.write() を使う方法です。
import sys
sys.stdout.write(“こんにちは”)
sys.stdout.write(“世界”)
結果:
こんにちは世界
for文で改行を使う
endパラメータは、ループの中でも便利です。たとえば、リスト内の要素を空白区切りで1行に並べたい場合、以下のように書きます。
items = [“A”, “B”, “C”]for item in items:
print(item, end=’ ‘)
結果:
A B C
for文でも改行を制御することで、柔軟な出力が可能になります。
こうした使い方をしっかり身につけたい方には、Python基礎セミナー講習がおすすめです。未経験から短期間で文法〜データ分析・AI活用まで学べる短期集中型で、現場でしっかり使える知識を体系的に習得できます。
セミナー名 Python基礎セミナー講習 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 27,500円〜 開催期間 2日間 受講形式 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング
コピペでOK!Pythonで改行なしで表示するprintテンプレ
ここからは、コピペですぐ使える!改行なしのテンプレートを紹介します。コピペでご自由にお使いください。
- 改行せず文字列や数字を連結させて改行なしで表示
- カンマやハイフンで区切りながら横並び出力進
- 捗がわかるバーを作成
①改行せず文字列や数字を連結させて改行なしで表示
改行せず文字列や数字を連結させて表示するテンプレートです。
# 文字列をくっつける
print(“こんにちは”, end=””)
print(“世界”, end=””)# 数字を横並びに(空白無し)
for i in range(5):
print(i, end=””)
出力結果は、以下のとおりです。
こんにちは世界01234
②カンマやハイフンで区切りながら横並び出力
カンマやハイフンで区切りながら横並び出力させるコードのテンプレートです。
# カンマ区切り
for i in range(1, 6):
print(i, end=”, “)
# 出力例: 1, 2, 3, 4, 5,# 好きな区切り文字(ハイフン)
items = [“A”, “B”, “C”]print(*items, sep=”-“, end=””) # 出力: A-B-C
以下、出力結果です。
1, 2, 3, 4, 5, A-B-C
③進捗がわかるバーを作成
進捗がわかるバーを作成したい際は、次のようになります。
import time
total = 20
for i in range(total + 1):
bar = “#” * i + “-” * (total – i)
print(f”\r[{bar}] {i*100//total}%”, end=””, flush=True)
time.sleep(0.1)
print(“\n完了!”)
実行結果です。
[#####—————] 25%
[#############——-] 65%
[####################] 100%
完了!
ちなみに以下の記事では、Pythonの基礎である「if」「elif」「else」について解説しています。興味のある方はぜひご一読ください。
Pythonのprintで改行なしにする際に起きがちなミス

ここでは、Pythonの改行なしにする際に、よく起きがちなミスを紹介します。
- 改行されないものの半角の空白が入ってしまう
- 出力がすぐに表示されない
- 環境によっては特定コマンドが効かない
①改行されないものの半角の空白が入ってしまう
Python 3で
print(i, end=””)
とせずに
print(i)
print(i,)
などように書くと、自動で空白が入ってしまうことがあります。
特に複数の値を出す場合、初期設定で半角の空白が挿入される仕様です。意図せず隙間ができるときは、sep=””やend=””を明示的に指定するのが解決策です。
②出力がすぐに表示されない
ループ内で改行なしで出力しているのに、後ろに結果がまとめて表示されることがあります。これは標準出力がバッファリングされているためです。
print(…, flush=True)
を指定すると即時表示され、進捗バーやリアルタイム処理が意図通り動作します。
print(“処理中”, end=””, flush=True)
③環境によっては特定コマンドが効かない
環境によっては特定コマンドが効きません。たとえば、
print(…, end=””)
はPython 3で推奨されますが、Python 2では効かず
print i,
と書く必要があります。
また、sys.stdout.writeを使った方法は一部IDEやノートブック環境で挙動が異なる場合があります。環境依存のエラーを避けるには、自分のPythonバージョンと実行環境を確認してから適切な方法を選ぶことが重要です。
こうした環境依存のミスを防ぎ、実務で安定してPythonを使いこなすには、体系的に基礎を学ぶことが近道です。中でも文法や出力制御、バージョン間の違いを整理して理解しておくと、開発効率が大きく向上します。
Python基礎セミナー講習では、実務に直結するスキルを短期間で習得可能です。応用的なPythonの利用方法だけでなく、pandasによるデータ分析など、実用性の高いスキルを学べます。
| セミナー名 | Python基礎セミナー講習 |
|---|---|
| 運営元 | GETT Proskill(ゲット プロスキル) |
| 価格(税込) | 27,500円〜 |
| 開催期間 | 2日間 |
| 受講形式 | 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング |
Pythonのprintに関連するよくある質問

print(“A”,”B”,sep=”-“,end=””)
とするとA-Bと改行なしで出力されます。
print(…, end=””, encoding=”utf-8″)
を意識したり、環境をUTF-8に統一することで解決できます。
import textwrap
print(textwrap.fill(“長い文章を折り返したいときに使えます”, width=10))
Pythonのprintで改行なし表示する方法についてまとめ
Pythonで改行なしに表示する方法には、
- Python 3のendパラメータ指定
- Python 2のカンマ区切り
- sys.stdout.write
- flushを使った即時出力
など複数の手段があり、用途や環境に応じて使い分けることが大切です。とくに初心者はprint(…, end=””)を基本に覚えておくと実務でも応用が効き、効率的に出力を制御できます。






