Python - エスケープ文字
こんにちは、未来のPythonの魔法使いたち!今日は、エスケープ文字の魔法の世界に旅立つことにしましょう。まだ聞いたことがないでしょうが、心配しないでくださいね——このレッスンの終わりまでに、あなたもエスケープ文字の達人になることでしょう!
エスケープ文字とは?
物語を書いているとき、テキストの中に引用を含めたいと思ったことありますよね。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