【2026】Pythonのprintで改行なし表示する方法!コピペで使えるテンプレも紹介

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」について興味のある方は、ぜひ以下の記事も参考にしてください。

【2025】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テンプレ

ここからは、コピペですぐ使える!改行なしのテンプレートを紹介します。コピペでご自由にお使いください。

  1. 改行せず文字列や数字を連結させて改行なしで表示
  2. ンマやハイフンで区切りながら横並び出力
  3. 捗がわかるバーを作成

①改行せず文字列や数字を連結させて改行なしで表示

改行せず文字列や数字を連結させて表示するテンプレートです。

# 文字列をくっつける
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」について解説しています。興味のある方はぜひご一読ください。

【2025】Pythonのif・elif・elseとは?基礎から分かりやすく解説

Pythonのprintで改行なしにする際に起きがちなミス

Pythonのprintで改行なしにする際に起きがちなミス

ここでは、Pythonの改行なしにする際に、よく起きがちなミスを紹介します。

  1. 改行されないものの半角の空白が入ってしまう
  2. 出力がすぐに表示されない
  3. 環境によっては特定コマンドが効かない

①改行されないものの半角の空白が入ってしまう

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基礎セミナー講習はこちら

Pythonのprintに関連するよくある質問

Pythonのprintに関連するよくある質問

endとsepはどう違う?
endは出力の最後に何を付けるかを決めるもので、初期設定は改行(\n)です。これをend=””にすれば改行なしで続けて表示できます。一方、sepは複数出力する際の文字を決めるもので、初期は半角の空白です。例えば、

print(“A”,”B”,sep=”-“,end=””)

とするとA-Bと改行なしで出力されます。

改行なしで日本語を出力すると文字化けする?
通常、Pythonで改行なしに日本語を出力しても文字化けは起きません。ただし、実行環境の文字コード設定がUTF-8以外の場合や、端末のフォントが対応していない場合に「???」や記号に置き換わることがあります。その場合は、

print(…, end=””, encoding=”utf-8″)

を意識したり、環境をUTF-8に統一することで解決できます。

Pythonのprintで折り返す方法はある?
自動折り返し機能はありません。長い文字を出力したい場合は、文字数ごとに区切る処理を加えます。例えばtextwrapモジュールのfill()を使うと、指定幅で自動的に改行を挿入可能です。
import textwrap
print(textwrap.fill(“長い文章を折り返したいときに使えます”, width=10))
Python基礎セミナー講習なら、こうした実務寄りのさまざまな活用法を、もっと効率的に学べます。実務寄りの環境構築や、データ処理の方法まで学べるので、ぜひご検討ください。

Pythonのprintで改行なし表示する方法についてまとめ

Pythonで改行なしに表示する方法には、

  • Python 3のendパラメータ指定
  • Python 2のカンマ区切り
  • sys.stdout.write
  • flushを使った即時出力

など複数の手段があり、用途や環境に応じて使い分けることが大切です。とくに初心者はprint(…, end=””)を基本に覚えておくと実務でも応用が効き、効率的に出力を制御できます。

最新情報をチェックしよう!