複数行の文字列は三重クォート(""" または ''')で囲います。
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
一つだけインデントが入った行はインデントが消えます。