Pythonで文字列を扱うときには細かいルールがたくさんあります。今回はraw列やエスケープ文字の解説をしていきますが、その前にそのルールを確認しておきましょう。
文字列のルール
- クォートで挟んで表す。
- シングルクォート(’)でもダブルクォート(”)でもOK
1 2 3 4 5 6 7 8 9 10 |
bun1 = 'シングルで挟む' bun2 = "ダブルでもOK" print(bun1) print(bun2) #出力結果 シングルで挟む ダブルでもOK |
シングルクォートやダブルクォートを出力したい場合は、挟むクォートの種類を変えます。
- シングルを出力したいならダブルで挟む
- ダブルを出力したいならシングルで挟む
1 2 3 4 5 6 7 8 9 10 |
bun1 = '「"」を出力' bun2 = "「'」を出力" print(bun1) print(bun2) #出力結果 「"」を出力 「'」を出力 |
このように特殊な文字を出力したい場合にはルールがありますが、エスケープ文字やraw列を使うともっとラクに書くことができます。
エスケープ文字とは?
以下の表のように特定の文字の前にバックスラッシュ(\)をつけて表すことで、クォートや改行、タブなどを入力できます。日本語環境なら「\」ではなく「¥」になります。
この表にあるエスケープ文字を使うとクォートの種類を気にせず書くことできます。以下の文は同じ出力結果になっています。エスケープ文字を使ったときと使わないときの違いを確認できます。
1 2 3 4 5 6 7 8 9 10 11 |
#クォート bun1 = 'Tom\'s pen' bun2 = "Tom's pen" print(bun1) print(bun2) #出力結果 Tom's pen Tom's pen |
そのほかの例もいかに書いています。最後の例はバックスラッシュと「¥」は同じものと考えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
bun1 = '1行目\n2行目' bun2 = 'タブとは\t空白4つ' bun3 = 'バックスラッシュは\\' print(bun1) print(bun2) print(bun3) #出力結果 1行目 2行目 タブとは 空白4つ バックスラッシュは\ |
raw列とは?
rawとは「生の」という意味の英単語です。文字列のクォートの前に「r」を書くとバックスラッシュをそのまま出力します。つまり、エスケープ文字で使う「\」が残るります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
bun1 = 'Tom\'s pen' raw1 = r'Tom\'s pen' bun2 = 'バックスラッシュは\\' raw2 = r'バックスラッシュは\\' print(bun1) print(raw1) print(bun2) print(raw2) #出力結果 Tom's pen Tom\'s pen バックスラッシュは\ バックスラッシュは\\ |
raw列の文は「¥」が出力されていますが、そうでない文はエスケープ文字として扱われています。
この表し方はファイルパスを表すときに有効です。もし、raw列を使わないなら「path1」のようにエスケープ文字を使う必要があります。わずかですがメンドウですね。
1 2 3 4 5 6 7 8 9 10 |
path1 = "C:\\Users\\Programs\\Python\\Python38\\sample.py" path2 = r"C:\Users\Programs\Python\Python38\sample.py" print(path1) print(path2) #出力結果 C:\Users\Programs\Python\Python38\sample.py C:\Users\Programs\Python\Python38\sample.py |
ファイル操作やWebスクレイピングなどのURLでも有効にな方法です。
Pythonを使ったWebスクレイピングの入門編ということで、そもそもWebスクレイピングとは何か、どうやってプログラムを書けばいいのか、プログラムの骨格となる部分についてまとめていこうと思います。 環境:Windows102020[…]
今回は「ルートディレクトリ・カレントディレクトリ・ファイルパス」の説明をします。 もし、「ディレクトリ」という言葉が分からない場合は下の記事をご覧ください。 [sitecard subtitle=関連記事 url="https[…]
まとめ
- 文字列はクォートで挟む。
- エスケープ文字で特別な文字を表せる。
- 「\」か「¥」の後ろに特定の文字を書く
- raw列でそのままの文字列を出力できる。
- クォートの前に「r」を書く
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]