Python | raw文字列練習問題

Python
スポンサーリンク

Pythonの「raw文字列(ロー文字列)」とは?

プログラミング初心者向けにやさしくかみ砕いた説明練習問題と解答・解説付きでまとめます。


1. そもそも「エスケープシーケンス」って何?

Pythonでは、
文字列の中で「バックスラッシュ \」を使うと、特別な意味を持つことがあります。

たとえば:

print("こんにちは\nPython!")
Python

出力結果:

こんにちは
Python!

ここで \n は「改行」を表しています。
このように \ から始まる特別な記号を「エスケープシーケンス」といいます。


2. でも「\」をそのまま文字として使いたいときもある!

例えば、Windows のフォルダのパスを表示したいとき:

print("C:\new\test")
Python

結果はこうなります:

C:
ew	est

なぜ?🤔
"\n" は「改行」、"\t" は「タブ」として解釈されてしまうからです。


3. そんなときに「raw文字列」!

文字列の前に r をつけて書きます。

print(r"C:\new\test")
Python

出力結果:

C:\new\test

やった!r をつけるだけで、\n\t が特別扱いされず、
そのままの文字として出力されます。


4. 注意点

❌ その1:最後に「\」を書くとエラー!

print(r"C:\new\")
Python

これは文法エラーになります。
Pythonが「文字列が終わったのか」「まだ続くのか」わからなくなるためです。

✅ 解決法:

print(r"C:\new" + "\\")
Python

出力:

C:\new\

その2:「”」や「’」は普通どおり注意!

"' は、文字列を囲む記号として扱われます。
なので、raw文字列でも中に同じ記号を使うときは注意が必要です。

# NG(エラー)
print(r"彼は"天才"です")

# OK(囲いを変える)
print(r'彼は"天才"です')
Python

練習問題

基礎レベル

Q1.

次のコードの出力を予想してみましょう。

print("C:\\Users\\Python")
Python

A)

C:\Users\Python

解説:
通常の文字列なので、\ を出すには \\ と2回書く必要があります。
\\\ として出力されます。


Q2.

では、次のコードの出力結果は?

print(r"C:\Users\Python")
Python

A)

C:\Users\Python

解説:
r をつけたので、\ がそのまま出力されます。
\\ と二重に書かなくてOK!


Q3.

次のコードの結果を予想してみてください。

print("Hello\nWorld")
print(r"Hello\nWorld")
Python

A)

Hello
World
Hello\nWorld

解説:

  • 1行目は \n が「改行」として働く。
  • 2行目は raw文字列なので、\n がそのまま表示される。

中級レベル

Q4.

次のコードでエラーになるのはなぜでしょう?

print(r"C:\path\")
Python

A)
SyntaxError になる。
理由は、raw文字列の末尾にバックスラッシュ \ を置くと
「文字列が終わっていない」とPythonが勘違いするため。

解決法:

print(r"C:\path" + "\\")
Python

Q5.

次の2つの出力が同じ結果になるように修正してください。

print("C:\\Program Files\\Python\\")
print( ? )
Python

A)

print(r"C:\Program Files\Python" + "\\")
Python

解説:
raw文字列の末尾に \ は書けないため、
最後の \ だけ普通の文字列 "\\” を連結して出力しています。


まとめ

比較項目通常文字列raw文字列(r”…”)
\n\t特別な意味を持つ(改行・タブなど)ただの文字として扱う
書き方"文字列"r"文字列"
バックスラッシュを多用する場面面倒(\\と2回書く)便利(\のままでOK)
末尾の \書ける書けない(エラー)

追加チャレンジ(応用)

次のコードの出力を見てみましょう👇

import re

pattern = r"\d+"
text = "年齢は30です"
print(re.findall(pattern, text))
Python

結果:

['30']

🧩 解説:
raw文字列は「正規表現」で特に便利!
\d+(数字1文字以上)など、\ を多用するパターンを書くときに
r をつけることで読みやすく・ミスが減ります。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました