Pythonで文字列の出力やファイルへの入出力で、「改行を入れたいんだけど、どうすればいいの?」「出力時に改行を削除したい」
などの悩みを抱えている方もいるのではないでしょうか?
そこで、今回はPythonでの改行の上手な扱い方について解説していきます。
改行コードは基本的に目には見えないので扱いづらい印象がありますが、この記事でしっかりと学習していきましょう!
この記事では、
【基礎】print関数で改行を出力しない方法
【基礎】コードの中で改行をする方法
【発展】ファイルの入出力で改行を扱う方法
【発展】文字列に入っている改行を削除する方法
という内容について解説をしていきます。
改行コードについてわかりやすく解説していますので、ぜひ参考にしてください。
※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
改行コードとは
まず、改行コードとは何かについて知っておきましょう。
改行コードとは、文字列の中で改行がある部分に対して、改行を指示する文字コードになります。
「\n」という文字を見たことがあるかもしれませんが、これが改行コードのエスケープシーケンスになります。
例えば、print関数に渡す引数の中で「\n」を使うと、文字列が改行されることが分かるかと思います。
lbstr = "Hello\nPython" print(lbstr)
実行結果
Hello Python
改行コードについて、わかって頂けたでしょうか?
注意点として、WindowsとMac、UNIXやLinuxで改行コードがそれぞれ違います。
- MacOS(古いOS)は「\r」
- Unixは「\n」
- Windowsは「\r\n」
がそれぞれ使われているので気をつけましょう。
print関数で改行を出力しない方法
ここからはprint関数で改行を出力しない方法について見ていきましょう。
Pythonのprint関数では標準で改行コードを末尾に追加して文字列を出力しています。
lbstr = "Hello, Python" print(lbstr)
実行結果
Hello, Python
こちらの文字列にある改行コードを消去するためには、endメッセージで設定をしましょう。
lbstr = "Hello, Python" print(lbstr, end='')
実行結果
Hello, Python
ページ上で見るとあまり変わらない気もしますが、コンソール上で確認をしてみると、末尾の改行が消えて同じ行に入力ができるようになっているかと思います。
コードの中で改行をする方法
今度はPythonのコードの中で改行する方法について見ていきましょう。
Pythonのコードで一行が長くなることはしばしばありますが、そのまま書き続けるのは可読性が落ちてしまいよくありません。
そこで、コードの動作自体に影響を与えずに、コードの中で改行をする方法について見ていきましょう。
こちらのコードをご覧ください。
print("Hello, Python \ and Ruby \ and Perl.")
実行結果
Hello, Python and Ruby and Perl.
改行をしたい部分で「\」(バックスラッシュ)を使うことでコードに影響をおよぼすことなく可読性を上げることが出来ましたね。
ファイルの入出力で改行を扱う方法
ファイルの入出力で改行を扱うには、やや特殊な方法が必要になります。
こちらの記事では、ファイルの読み込み全般や改行を取り除いて取得する方法などについて詳しく解説しています!
文字列の改行を削除する方法
文字列の先頭と末尾に改行コードがあった場合、print関数のendメッセージでは対応が出来なくなってしまいます。
その場合は、stripメソッドで改行などの空白文字を削除する必要があります。
以下のサンプルを御覧ください
rawStr = "\nHello,Python\n" newStr = rawStr.strip() print(rawStr) print(newStr)
実行結果:
Hello,Python Hello,Python
このようにstripメソッドを使えば、文字列に含まれている改行コードを取り除くことができます。
stripメソッドの詳しい使い方については、以下の記事を参考にしてください。
まとめ
この記事ではPythonの改行の扱いについて、
- 改行コードとは
- print関数で改行を出力しない方法
- コードの中で改行をする方法
- ファイルの入出力で改行を扱う方法
- 文字列に入っている改行を削除する方法
などについて解説しました。
改行は実感しにくい分、扱いづらさもあると思いますが、お伝えしてきたルールに沿って処理をすれば難しいものではありません。
Pythonでの改行について忘れてしまったら、ぜひこの記事を読み直してみてください!