Python | raw文字列(raw string)

Python
スポンサーリンク

Pythonの文字列と raw文字列をやさしく解説

では、Pythonの文字列と raw文字列 について、プログラミング初心者向けに「かみ砕いた説明」と「例題」を交えて詳しく解説します。


1. 文字列とは?

  • 文字列は "..."'...' で囲んだ文字の集まりです。
  • 例:
name = "Python"
print(name)   # 出力: Python
Python

2. バックスラッシュ \ の特別な意味

Pythonでは \ は「エスケープシーケンス」と呼ばれ、特別な意味を持ちます。

  • \n → 改行
  • \t → タブ
  • \\ → バックスラッシュ1つ

例:

print("Hello\nWorld")
# 出力:
# Hello
# World
Python

3. raw文字列とは?

r"..." または R"..." と書くと、エスケープ処理をしない文字列 になります。
つまり、\n\\ もそのまま文字として扱われます。

例:

print(r"Hello\nWorld")
# 出力: Hello\nWorld
Python

👉 改行されずに \n がそのまま表示されます。


4. どんなときに便利?

  • Windowsのパス
print("C:\\Users\\Python\\test")   # 通常の文字列
print(r"C:\Users\Python\test")     # raw文字列
Python

👉 raw文字列なら \\ と二重に書かなくてよい

  • 正規表現\d\s などを多用する)
import re
pattern = r"\d+"   # 数字にマッチ
print(re.findall(pattern, "abc123def456"))
# 出力: ['123', '456']
Python

5. 注意点

  • 文字列の最後に \ は書けない
print(r"abc\")   # エラーになる
Python

👉 対処法: 文字列を連結する

print(r"abc" + "\\")  # 出力: abc\
Python
  • クォートの扱い
    • raw文字列でも "..." の中に " を書くときは注意
    • '...' で囲めば中に " をそのまま書ける

例題で練習

例題1

次のコードの出力はどうなるでしょう?

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

解答

C:\new_folder\test

👉 \\ が1つの \ として表示される


例題2

次のコードの出力は?

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

解答

C:\new_folder\test

👉 raw文字列なので \\ と書かなくてもOK


例題3

次のコードはエラーになります。なぜでしょう?

print(r"abc\")
Python

解説

  • raw文字列は最後に \ を書けないからです。
  • Pythonが「次の文字をエスケープするのかな?」と誤解してしまいます。

まとめ

  • \ は特別な意味を持つ(改行やタブなど)
  • r"..." で raw文字列にすると、\ をそのまま扱える
  • パスや正規表現で大活躍
  • ただし「最後に \ は書けない」点に注意

👉 ここまで理解できたら、次は「正規表現 × raw文字列」で実際に検索処理を試すと、さらに実用的に身につきます。

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