Pythonでバックスラッシュを使ってエスケープする方法【初心者向け】

初心者向けにPythonでバックスラッシュを使ってエスケープする方法について解説しています。エスケープ文字を使うことで文字列内に改行やタブなどの処理を入れることができます。代表的なエスケープシーケンスとその書き方を覚えましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonでバックスラッシュを使ってエスケープする方法について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

バックスラッシュを使ってエスケープする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

バックススラッシュとは

Python で文字列を表現するときは、ダブルクォーテーション、またはシングルクォーテーションで囲って以下のように記述します。

"こんにちは!"
'こんにちは!'

では、文字列の中で改行を表現したり、ダブルクォーテーションで囲った文字列の中でダブルクォーテーションを表現するにはどうしたら良いでしょうか。このような、特殊な文字を表現する際に使用するのがバックスラッシュです。

例えば、改行を表現するにはバックスラッシュを使い「\n」と記載します。

なお、バックスラッシュは、パソコンがMac と Windows の場合で入力方法と表示が異なります。 Mac の場合は option を押しながら ¥ を押すと「\」と表示されます。 Windows の場合は 「/」の右隣りの「\」キーを押すと「¥」と表示されます。

 

エスケープする書き方

バックスラッシュを用いて特殊な文字を表現することをエスケープシーケンスといいます。代表的なエスケープシーケンスには以下のような種類があります。

エスケープシーケンス 意味
\a ベル
\b  バックスペース
\f 改ページ
\n 改行
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
\\ 「\」そのもの
\” 「”」ダブルクォーテーション
\’ 「’」シングルクォーテーション
\nnn 8進数nnnでASCIIコードの文字を指定
\xhh 16進数nnでASCIIコードの文字を指定
\uhhhh 16進数hhhhでUnicodeの文字を指定
\0 NULL

改行コードはMacやLinuxの場合「\n」ですが、Windowsの場合は「\r\n」で表現されます。

また、「\a」「\f」「\v」はテレタイプという初期のコンピューター環境で利用されていました。現在利用することはほとんどありません。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

今回のサンプルプログラムでは、エスケープシーケンスを使った例をいくつか確認していきます。プログラムは Python インタプリタで入力していきます。はじめに以下のプログラムを入力しましょう。

print("こんにに\bちは!\n\"Python\"の世界へようこそ!")

実行結果は以下のようになります。

こんにちは!
"Python"の世界へようこそ!

「\b」により直前の文字「に」が削除され、「\n」により改行が行われています。また「\”」でダブルクォーテーションが出力されています。「\n」や「\”」、「\’」がエスケープシーケンスで最も多く利用される表現です。

次に以下のプログラムを実行します。

print("\101\102\x63\x64")

実行結果は以下のようになります。8進数と16進数でASCIIコードの文字を指定しています。

ABcd

最後に以下のプログラムを実行します。

print("\u3042\u3044\u3046")

実行結果は以下のようになります。16進数でUnicodeの文字を指定しています。

あいう

 

この記事を監修してくれた方

太田和樹(おおたかずき)
ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。