ユーニックス総合研究所

  • home
  • archives
  • python-backslash

Pythonのバックスラッシュ「\」の活用方法【エスケープ、複数行の式】

  • 作成日: 2023-06-02
  • 更新日: 2023-12-25
  • カテゴリ: Python

Pythonのバックスラッシュの使い方

Pythonでは特殊記号としてバックスラッシュ(\)を使うことができます。
これは文字列内のクオートのエスケープや複数行の式を書くときなどに使われます。
この記事ではPythonのバックスラッシュの活用方法を解説します。

関連記事
Djangoでオブジェクトを一括作成・更新【bulk_create, bulk_update】
DjangoのModel.objects.filter()の使い方【QuerySet】
Djangoのmodelのcreate()の使い方【Python】
Django入門: ルートの設定 ~ 簡単な一行掲示板アプリを作る その4【Windows10】
NumPyのappend()の使い方: 配列の末尾に要素を追加
Numpyのarangeの使い方: 指定範囲の数列を生成する
Python3でYoutube Data APIを使ってキーワード検索する
PythonからC言語(my.puts)を呼び出して実行する

文字列内のエスケープ

たとえば文字列を作る時にPythonではシングルクオートの文字列ダブルクオートの文字列を作ることができます。
シングルクオートの文字列の中でシングルクオートを使いたい、あるいはダブルクオートの文字列の中でダブルクオートを使いたい、というケースがあります。
そういう時はクオートをバックスラッシュでエスケープします。

s1 = 'that\'s right!'  
s2 = "you says \"hello\""  

以上のようにシングルクオートとダブルクオートをそれぞれエスケープすると文字列の中でクオートを使えます。
ちなみにですがダブルクオートの中でシングルクオートを使うときはエスケープは必要ありません。

s1 = "that's right!"  

もちろんシングルクオートの中でダブルクオートを使う時もエスケープはいりません。

s2 = 'you says "hello"'  

文字列の中で特定のクオートが頻出する場合は文字列の両端のクオートを工夫するとエスケープを書く手間を減らすことができます。
ちなみにPythonでシングルクオートの文字列もダブルクオートの文字列も両方とも同じ文字列です。

複数行の式を書く時の改行のエスケープ

Pythonで複数行の式を書くときはバックスラッシュで改行をエスケープします。

a = 1 + 1 \  
      + 2 + 2 \  
      + 3 + 3  
print(a)  # 12  

上記の「1 + 1 + 2 + 2 + 3 + 3」という式を1つの式です。
if文の条件式でもエスケープは使うことができます。

a = 1  
if a == 1 \  
     or a == 2 \  
     or a == 3:  
    print(a)  

複数行の式を書くときはカッコも使える

ちなみにバックスラッシュを使わなくてもカッコ(())を使えば複数行の式を書くことができます。
つまり先ほどのコードは

a = (1 + 1  
      + 2 + 2  
      + 3 + 3)  
print(a)  # 12  

a = 1  
if (a == 1  
     or a == 2  
     or a == 3):  
    print(a)  

という風に書き直すことができます。
処理結果は同じです。

バックスラッシュを書くのがだるい場合はこのようにカッコを使うことも検討してみてください。

おわりに

今回はPythonのバックスラッシュの活用方法について解説しました。
バックスラッシュは覚えておくといろいろはかどります。
なにか参考になれば幸いです