三連引用符を使った複数行の文字列の記述

複数行にわたる文字列を入力する方法として三連引用符(トリプルクオーテーション)を使う方法について解説します。

(Last modified: )

三連引用符を使った文字列の定義

Python で複数行にわたる文字列を定義する場合、改行を表すエスケープシーケンスを文字列の中に記述する方法の他に三連引用符を使う方法が用意されています。

三連引用符とはダブルクオーテーションまたはシングルクオーテーションを 3 つ続けたもので文字列を囲う方法です。例えばダブルクオーテーションを使った場合は次のように記述します。

"""こんにちは。
今日のミーティングですが予定通りの時間に行います。
何か変更があれば連絡してください。"""

最初の """ から 2 番目の """ までが 1 つの文字列となります。この方法で文字列を定義した場合、文字列の中で行った改行は文字としての改行として扱われます。

これは次のように記述した場合と同じです。

"こんにちは。\n今日のミーティングですが予定通りの時間に行います。\n何か変更があれば連絡してください。"

三連引用符を使って文字列を定義する場合、ダブルクオーテーションやシングルクオーテーションはエスケープすることなく文字列の中で記述することができます。エスケープして記述しても構いません。

"""こんにちは。
今日のミーティングですが"予定通り"の時間に行います。
何か変更があれば連絡してください。"""

-- --

三連引用符を使う場合の注意点ですが、文字列は最初の """ の直後から文字列として扱われます。そのため、 最初の """ のあとで改行してしまうと、文字列の先頭に改行が入ることになります。

"""
こんにちは。
今日のミーティングですが予定通りの時間に行います。
何か変更があれば連絡してください。"""

最初の """ のあとで改行してから書き出したいけれど、文字列の先頭に改行を含めたくない場合には """ の直後に \ を記述してください。

"""\
こんにちは。
今日のミーティングですが"予定通り"の時間に行います。
何か変更があれば連絡してください。"""

サンプルコード

次のサンプルを見てください。

msg = """\
こんにちは。
今日のミーティングですが"予定通り"の時間に行います。
何か変更があれば連絡してください。"""

print(msg)

>> こんにちは。
>> 今日のミーティングですが"予定通り"の時間に行います。
>> 何か変更があれば連絡してください。

三連引用符を使って複数行にわたる文字列を定義することができました。

-- --

複数行にわたる文字列を入力する方法として三連引用符(トリプルクオーテーション)を使う方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。