Pythonでコードを書いていると、「一行が長くなりすぎて見づらいから改行したいのにエラーが出る」「出力結果の改行を自在にコントロールしたい」といった場面によく遭遇します。
Pythonは「読みやすさ」を重視する言語仕様のため、改行やインデントに対して厳格なルールがあります。
そのため、C言語やJavaのように文の終わりがセミコロンで明示される言語とは異なり、Pythonでは改行が文の区切りとして扱われるため、改行の扱いには注意が必要です。
この記事では、Pythonにおける「改行」にまつわる以下の4つのケースについて、具体的な解決策とサンプルコードを紹介します。
- 長いコードを途中で改行して見やすくしたい場合
- print関数での出力時の改行を制御したい場合
- 文字列データに含まれる改行コードを削除・置換したい場合
- WindowsとMac/Linuxでの改行コードの違いに対処したい場合

本気で未経験からエンジニア転職を目指すなら、
日本最大級の比較サイト「マイベスト」で【4年連続人気NO.1】となった
RUNTEQ(ランテック)一択!

✅受講生からの評判が驚くほど良い
✅学習はハードだが未経験とは思えないほど高いスキルが身に付く
✅挫折させない万全なサポート体制が用意されている
✅採用面接で担当者に刺さるレベルの高い「ポートフォリオ」を作成できる
✅給付金を使えば実質約13万円という格安料金で受講できる
\ もちろん勧誘行為は一切なし! 相談だけでもOK! /
長いコードを途中で改行したい場合(SyntaxError対策)
Pythonでは、原則として「1行=1文」と解釈されるため、式や関数の引数が長くなったからといって適当な場所でEnterキーを押すとエラーになります。
長いコードを適切に改行するには、主に2つの方法があります。
丸括弧 () を使う方法(推奨)
最も推奨されるモダンな方法は、式全体を丸括弧 () で囲むことです。
Pythonには「括弧で囲まれた範囲内では、改行しても一つの文として扱われる」というルールがあります。
これを利用すると、行末に特別な記号を書く必要がなく、インデントも自然に揃えられるため、コードの可読性が高まります。
PEP 8(Pythonのコーディング規約)でもこの方法が推奨されています。
# 丸括弧を使った改行(推奨)
total_price = (
1000 + 2000 + 3000 +
4000 + 5000
)
# 関数呼び出しの引数も、括弧内なら自由に改行可能
print(
"合計金額は",
total_price,
"円です"
)
# 条件式が長い場合も見やすくなります
if (total_price > 10000 and
total_price < 20000):
print("予算内です")
実行結果
合計金額は 15000 円です
予算内です
コードの解説
解説括弧 () で囲むことで、Pythonインタプリタは閉じ括弧 ) が来るまで文が続いていると判断します。
これにより、演算子の前後やカンマの後ろなどで自由に改行を入れることができます。
バックスラッシュ \ を使う方法
もう一つの方法は、行の最後にバックスラッシュ \(Windows環境では円記号 ¥)を入力することです。
これは「次の行に続きます」という明示的な合図になります。
# バックスラッシュを使った改行
total_price = 1000 + 2000 + 3000 + \
4000 + 5000
print(f"合計: {total_price}")
実行結果
合計: 15000
コードの解説
この方法は古くからある書き方ですが、現在ではあまり推奨されません。
理由は、バックスラッシュの後ろに誤ってスペースが入ってしまうと、それだけでエラーになったり、意図しない挙動を引き起こしたりするリスクがあるからです。
基本的には前述の丸括弧を使う方法を選びましょう。
print関数での改行を制御したい場合
「print関数を使うと勝手に改行されてしまう」「改行せずに続けて表示したい」というケースもよくあります。
print関数はデフォルトで改行する
Pythonの print() 関数は、実行すると末尾に自動的に改行コード \n を付与する仕様になっています。
print("Hello")
print("World")
上記を実行すると、以下のように2行で表示されます。
Hello
World
改行させたくない場合は end="" を指定する
改行せずに続けて出力したい場合は、print() 関数の end 引数に「空文字」または「区切り文字」を指定します。
# 改行せずに続けて出力する
print("Hello", end="")
print("World", end="!")
print("Python")
実行結果
HelloWorld!Python
コードの解説
print() 関数の end 引数のデフォルト値は \n(改行)です。これを end=""(空文字)に変更することで、改行の代わりに「何も出力しない」ことになり、次の print() の出力が直後につながります。
プログレスバーの表示など、1行の中で内容を更新したい場合によく使われるテクニックです。
文字列の中で改行したい場合は \n を使う
逆に、1つの print() 関数の中で意図的に改行を入れたい場合は、改行を表すエスケープシーケンス \n を文字列の中に埋め込みます。
print("1行目\n2行目\n3行目")
実行結果
1行目
2行目
3行目
文字列内の改行コードを削除・置換したい場合
Webスクレイピングやテキストファイルから読み込んだデータには、不要な改行コード(\n や \r\n)が含まれていることがよくあります。
これらを削除したり、スペースに置き換えたりする方法を見ていきましょう。
replace() で改行を一括削除・置換する
文字列に含まれるすべての改行を削除したい場合は、replace() メソッドが最も簡単で確実です。
text_data = "Apple\nBanana\nOrange"
# 改行を削除(空文字に置換)
clean_text = text_data.replace("\n", "")
print(f"削除後: {clean_text}")
# 改行をカンマに置換
comma_text = text_data.replace("\n", ",")
print(f"置換後: {comma_text}")
実行結果
削除後: AppleBananaOrange
置換後: Apple,Banana,Orange
コードの解説
replace("\n", "") とすることで、文字列中のすべての \n を空文字に置き換え、実質的に削除することができます。
strip() で前後の改行のみを削除する
文字列の途中にある改行は残しつつ、先頭や末尾にある余計な改行や空白だけを取り除きたい場合は strip() を使います。
# 前後に余計な改行やスペースがある文字列
dirty_text = "\n Hello Python \n"
# 前後の空白文字(改行含む)を削除
clean_text = dirty_text.strip()
# repr()を使って、見えない改行コードも可視化して確認
print(f"元データ: {repr(dirty_text)}")
print(f"処理後 : {repr(clean_text)}")
実行結果
元データ: '\n Hello Python \n'
処理後 : 'Hello Python'
コードの解説
strip() は、文字列の両端にある空白文字(スペース、タブ、改行)をすべて除去します。
末尾だけ削除したい場合は rstrip()、先頭だけなら lstrip() を使用します。
ファイル読み込み時によく使われるメソッドです。
splitlines() で行ごとに分割する
改行コードを削除するだけでなく、改行を区切りとしてリスト(配列)に変換したい場合は splitlines() が便利です。
text_data = "UserA\nUserB\nUserC"
# 改行で分割してリスト化
user_list = text_data.splitlines()
print(user_list)
実行結果
['UserA', 'UserB', 'UserC']
コードの解説
splitlines() は、改行コードの種類(\n, \r\n, \r)を自動的に判別して分割してくれるため、異なるOSで作成されたテキストデータを扱う際に非常に強力です。
OSによる改行コードの違いと対策
「自分のPCでは動くのに、別のPCだと改行がおかしい」というトラブルの原因の多くは、OSによる改行コードの違いです。
- Windows:
\r\n(CR + LF) - Mac / Linux / Unix:
\n(LF) - 古いMac (OS 9以前):
\r(CR)
Python 3では、ファイルの読み書きを行う際に、この違いを自動的に吸収してくれる「ユニバーサル改行モード」がデフォルトで有効になっています。
ファイル操作時の改行コードの統一
ファイルを open() する際、PythonはデフォルトでOSに合わせた改行コードに変換して読み書きします。
しかし、明示的に改行コードをコントロールしたい場合は、newline 引数を指定します。
# 書き込み時:newline='' を指定すると、Pythonによる自動変換を無効化できる
with open("output.txt", "w", newline="", encoding="utf-8") as f:
f.write("Line1\nLine2")
コードの解説
newline="" を指定することで、Pythonが勝手に \n を \r\n(Windowsの場合)に変換するのを防ぎ、コードに書かれた通りの改行コードでファイルを出力できます。
CSVファイルの処理など、改行コードの形式が厳密に決まっている場合に有効なテクニックです。
初心者がPythonについて効率的に学ぶには
Pythonの改行をはじめとする様々なPythonの知識・スキルを効率的に習得するには、プログラミングスクールの活用が最も近道です。
スクールでスキルを高めることにより、今の仕事に活かしたり、副業として高単価な案件を受注できたりするだけでなく、Pythonエンジニアとして転職することも可能になります。
Pythonエンジニアは需要が非常に高いため、それに比例して年収も高くなる傾向にあります。
「今よりも年収を上げたい」「将来性の高い職種であるエンジニアへ転職したい」といった気持ちが強い場合は、プログラミングスクールでPythonの専門スキルを習得しつつ、ポートフォリオ支援や転職支援を受けてエンジニアへ転職する、という道を目指すのもよいでしょう。
なお、「Pythonに強く、受講生からの評判も良いプログラミングスクール」には、以下のようなところがあります。
- デイトラ
(※格安)
- キカガク
(※専門的)
- Aidemy Premium
(※受講コースが豊富)
その他、以下の記事でもPythonのおすすめスクールをまとめていますので、興味のある方は是非参考にしてください。

\ 登録・利用はすべて完全無料! /
実務未経験エンジニアでも希望の転職先を見つけやすい!!
週1~3日からできる副業案件多数!!
フリーランス案件の単価の高さは圧倒的!!



