Python で複数行の文字列を書く:textwrap.dedent で見た目のインデントを消す
複数行の文字列は三重クォート(“”" または ‘’')で囲います。
text = """これは
複数行の
文字列だよ。"""
print(text)
これは
複数行の
文字列だよ。三重クォート内部の改行はそのまま表現されます。三重クォートは文字列の最初の直前、最後の直後につける。もし最後の三重クォートを改行して書くと
text = """
これは
複数行の
文字列だよ。
"""
print('A' + text + 'B')
A
これは
複数行の
文字列だよ。
Bからわかるように、最後に改行が入ります。ややこしいですね。三重クォートを使った複数行の文字列は
ことを意識します。

(最初の)三重クォートの直後に文字を書くなんて嫌! 改行しないと気持ち悪い!
という人には次の方法をおすすめします。
text = """\
これは
複数行の
文字列だよ。
"""
print('A' + text + 'B')
Aこれは
複数行の
文字列だよ。
B開始三重クォートの直後にバックスラッシュを入れると、三重クォートの次の行から文字を書けます。
インデント
インデントをつけたい場合は dedent を使います。
import textwrap
text = textwrap.dedent("""\
インデントされた
複数行の文字列だけど
実際はインデントがないよ
""")
print(text)
インデントされた
複数行の文字列だけど
実際はインデントがないよdedent はちょっと曲者で、ユニークな挙動を示します。
from textwrap import dedent
text = """\
これは
複数行の
文字列だよ。
"""
print('A' + dedent(text) + 'B')
Aこれは
複数行の
文字列だよ。
Bインデントが消えていません。しかしすべての行にインデントをつけると
from textwrap import dedent
text = """\
これは
複数行の
文字列だよ。
"""
print('A' + dedent(text) + 'B')
Aこれは
複数行の
文字列だよ。
Bすべてのインデントが削除されます。もっとおもしろい実験を紹介します。タブをさらに入れて二つのインデントを入れると
from textwrap import dedent
text = """\
これは
複数行の
文字列だよ。
"""
print('A' + dedent(text) + 'B')
Aこれは
複数行の
文字列だよ。
B一つだけインデントが入った行はインデントが消えます。