文字列の改行(エスケープシーケンスとraw文字列)

文字列の改行(エスケープシーケンスとraw文字列)

トリプルクォーテーションによる文字列の改行

 Python ではトリプルクォーテーション (''')、またはトリプル・ダブルクォーテーション (""") で囲むことによって、改行を含む文字列を定義できます。

# https://python.atelierkobato.com/raw/

# トリプルクォーテーションで改行を含む文字列を定義
sentence_1 = '''[運動の第1法則]
外部から力を加えられなければ、静止物体は静止状態を、運動物体は等速直線運動を続ける'''

# トリプル・ダブルクォーテーションで改行を含む文字列を定義
sentence_2 = """[運動の第2法則]
物体の運動量の時間変化は作用する力に等しい"""

print(sentence_1)
print(sentence_2)
[運動の第1法則]
外部から力を加えられなければ、静止物体は静止状態を、運動物体は等速直線運動を続ける
[運動の第2法則]
物体の運動量の時間変化は作用する力に等しい

 

エスケープシーケンス

 トリプルクォーテーションで囲むとインデントなども文字列の一部と解釈されるため、上記の手法はあまり用いられません。代わりにエスケープシーケンス \n を使って改行するのが一般的です (Mac や Linux では \ の代わりに \ を使ってください)。

# https://python.atelierkobato.com/raw/

# エスケープシーケンス \n を使って改行
sentence = "[運動の第3法則]\n2つの物体が互いに及ぼし合う力は、向きが反対で大きさが等しい"

print(sentence)
[運動の第3法則]
2つの物体が互いに及ぼし合う力は、向きが反対で大きさが等しい

 改行の他にも「 \ 」 や「 ' 」などを文字列としてそのまま表示したいときにエスケープシーケンスが用いられます。

# https://python.atelierkobato.com/raw/

# シングルクォーテーションを文字列として表記
sentence = "\'[ケプラーの第1法則] 惑星は太陽を1つの焦点とする楕円軌道を描く\'"

print(sentence)
'[ケプラーの第1法則] 惑星は太陽を1つの焦点とする楕円軌道を描く'

 

raw文字列

 クォーテーションもしくはダブルクォーテーションで囲んだ文字列の前に r を添えると raw文字列として処理されます。raw とは「生の、未加工の」を意味する英語です。raw文字列を使うと、あらゆる文字列がリテラルで記述した形のまま表示されます。たとえば、ディレクトリ(フォルダ)のパスなどを記述するときに raw文字列を使うと便利です。

# https://python.atelierkobato.com/raw/

# raw文字列の定義
my_path = r"C:\Users\BlogCat\Desktop"

print(my_path)
C:\Users\BlogCat\Desktop