Python - エスケープ文字

こんにちは、未来のPythonの魔法使いたち!今日は、エスケープ文字の魔法の世界に旅立つことにしましょう。まだ聞いたことがないでしょうが、心配しないでくださいね——このレッスンの終わりまでに、あなたもエスケープ文字の達人になることでしょう!

Python - Escape Characters

エスケープ文字とは?

物語を書いているとき、テキストの中に引用を含めたいと思ったことありますよね。Pythonにどうやって「これらの引用符はテキストの一部であり、文字列の終わりではない」と伝えるのでしょうか?それがエスケープ文字が登場するところです!

エスケープ文字はバックスラッシュ(\\)に続けて、挿入したい文字を入力するものです。これはPythonに「おい、次の文字は特別なんだ。通常とは違うように処理してくれ」と伝えます!

Pythonでのエスケープ文字

Pythonはさまざまなエスケープ文字をサポートしています。最も一般的なものを見ていきましょう:

エスケープ文字 説明
\\ バックスラッシュ
\' シングルクォート
\" ダブルクォート
\n 改行
\t タブ
\r キャリッジリターン
\b バックスペース
\f フォームフィード

では、これらのそれぞれについて例を見ていきましょう!

バックスラッシュ (\\)

print("これはバックスラッシュです: \\")

出力:

これはバックスラッシュです: \

ここでは、Pythonに「実際にはバックスラッシュを出力したいので、エスケープシーケンスを開始するのではない」と伝えています!

シングルクォート (\') とダブルクォート (\")

print('私はPythonを勉強しています!')
print("彼女は言いました、\"Pythonは楽しいです!\"")

出力:

私はPythonを勉強しています!
彼女は言いました、"Pythonは楽しいです!"

最初の行では、文字列を囲むためにシングルクォートを使用しているので、"私は"の中のアポストロフィをエスケープする必要があります。二行目では、文字列を囲むためにダブルクォートを使用しているので、文字列の中のクォートをエスケープする必要があります。

改行 (\n)

print("こんにちは\n世界!")

出力:

こんにちは
世界!

\nはPythonに新しい行を開始するよう指示します。文字列の中でEnterキーを押したかのようです!

タブ (\t)

print("名前:\tジョン\n年齢:\t30")

出力:

名前: ジョン
年齢: 30

\tはタブスペースを追加し、きれいに整列された出力を作成するのに役立ちます。

エスケープ文字のアクション:ミニストーリー

これらすべてを楽しい小さな物語にまとめてみましょう:

story = "昔々、プログラマーの名を「ボブ」という人がいました。\nボブはPythonでコードを書くのが大好きでした。\n彼はよく言いました:「\n\t\"Pythonは最高だ!\"\n\t\"私はエスケープ文字が大好き!\"\nおしまい。\n"

print(story)

出力:

昔々、プログラマーの名を「ボブ」という人がいました。
ボブはPythonでコードを書くのが大好きでした。
彼はよく言いました:
"Pythonは最高だ!"
"私はエスケープ文字が大好き!"
おしまい。

この物語では、以下を使用しました:

  • \"を使って引用符を文字列の中に含めました
  • \nを使って新しい行を作成しました
  • \tを使ってボブの引用をインデントしました

ラップ文字列:エスケープしたくないとき

時々、特にWindowsでファイルパスを扱う場合、エスケープを行いたくないことがあります。そんなときはラップ文字が役立ちます:

print("C:\Users\Bob\Documents")  # これはエラーになります
print(r"C:\Users\Bob\Documents")  # これは動作します!

文字列の前にrを置くことで、Pythonに「ここではエスケープしないで、すべてそのままに」と伝えます!

結論:日の丸の中でエスケープ

それでは、皆さん!今やあなたはPythonのエスケープ文字の技術をマスターしました。覚えておいてください、これらの小さなバックスラッシュはあなたの友であり、特別な文字を文字列の中に含めたり、出力を望んだようにフォーマットしたりするのを助けます。

次回、コーディング中に「どうやって引用の中に引用を含めたらいいのか?」や「どこで新しい行を追加すればいいのか?」と考えたとき、あなたはすぐにもっともの方法を知るでしょう。エスケープ文字が助けます!

練習を続けることで、デジタルのフーディーニにも劣らないエスケープの技術を身につけることができます。ハッピーコーディング、そしてあなたの文字列が常に完璧にフォーマットされることを願っています!

Credits: Image by storyset