文字列に変数の値を差し込みたい場合にformatはよく使いますが,文字列に改行がある場合に詰まったので備忘録として残します.
やりたいこと
formatの文字列の中に改行があると,以下のエラーが発生します.
#test.py
print("Hello,
{}!".format("Tanaka"))
上のファイルの状態で実行してみる
$python test.py
File "test.py", line 2
print("Hello,
^
SyntaxError: EOL while scanning string literal
format関数に与える文字列に改行を含ませたい場合の対処法を紹介します.
方法1: 三重のクォーテーションで文章を囲む
pyhtonのformat関数を使うと,指定した位置に指定した文字列を配置することが可能です.
FORMAT = """Hello,
{}!
"""
print(FORMAT.format("Tanaka"))
#出力結果
Hello,
Tanaka!
文章が長い場合に便利です.
方法2: 改行コード\nを含める
format文の中に改行コードを入れておけば,print結果は改行されます.
print("Hello,\n{}!".format("Tanaka"))
#出力結果
Hello,
Tanaka!
文章が短い場合に便利です.
まとめ
文字列に変数の値を差し込みたい場合にformatはよく使いますが,文字列に改行がある場合に詰まったので備忘録として残しました.
参考になれば幸いです.