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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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コードの文字を指定
\xnn 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を使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう 厳しい試験を通過した講師 があなたの相談に真摯に向き合います。

「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」

こんな気持ちでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する