【Python 入門】文字列④ エスケープシーケンスとraw文字列

今回はエスケープシーケンスとraw文字列を用いた文字列について扱っていきます。どちらも聞きなれない言葉だと思いますので、まずは用語の説明から入りたいと思います。

エスケープシーケンスとは

エスケープシーケンスとは通常、文字列では表せない文字列やその機能の事を言います。代表的なものは改行です。改行はwordであれば「←」みたいな文字であらわされますが、矢印を入力しても改行はされないですよね。Pythonで改行をエンターキーで入力しても出力に反映されません。そのため、特殊な文字列の組み合わせで改行を表現します。

改行のエスケープシーケンスは「\n」です。例えば「こんにちは\n今日はいい天気ですね。」をそのままprint関数で出力すると以下のようになります。

実行してみて改行されていることがわかりましたでしょうか。これがエスケープシーケンスです。

改行以外にも様々な種類のものがございますので、表でまとめて確認しましょう。

エスケープシーケンス 意味
\newline バックスラッシュと改行文字が無視されます
\\ バックスラッシュ (\)
\’ 一重引用符 ()
\” 二重引用符 ()
\a ASCII 端末ベル (BEL)
\b ASCII バックスペース (BS)
\f ASCII フォームフィード (FF)
\n ASCII 行送り (LF)
\r ASCII 復帰 (CR)
\t ASCII 水平タブ (TAB)
\v ASCII 垂直タブ (VT)
\ooo 8 進数値 ooo を持つ文字
\xhh 16 進数値 hh を持つ文字

すべて、「\(バックスラッシュ)」を前に添えているのがわかりますね。ここでは「\」となっておりますが、GooleColabで書くと”¥”になったりします。環境によって表示される文字が違いますが、同じものですので円マークでもバックスラッシュでもどちらでも使えます。因みにここに記載している円マークは環境依存文字というまた特殊なものですので、Colab等で記載しても反映されませんのでご注意ください

raw文字列について

raw文字列とは文字列の組み合わせ上エスケープシーケンスとなってしまう文字列をエスケープシーケンスとして解釈されたくない時に用いるものです。エスケープシーケンスは”\”とある特定の組み合わせで表現されるものと上記で紹介しましたが、どんな時に弊害が生じるか考えてみましょう。例えば変数の中にファイルパスを格納したいときにこの問題は生じます。Pythonで取得したテストのエビデンスを「C:\pitures\test\evidence」に吐き出したくて初期化で変数にパスを格納したとします。

これを実際に出力すると「¥t」の部分がタブコードと解釈され想定していない文字列になってしまいます。

これを回避するためにraw文字列を付与します。方法は文字列を定義する際に文字列の頭に「r」を付け加えるだけです。

エスケープシーケンスの回避方法はraw文字列以外にもありますが、raw文字列が単純かつ読みやすいのでこれを覚えておけば良いと思います。

今回の記事はここまでです。

お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる