kanta's spike

Pythonで長い文字列を書くと、flake8などのスタイルチェックツールに引っかかる。 上手く長い文字列を改行したい。

解決策

文字列リテラルの結合を使う。

以下のような長い文字列は、

a = "aaaaaaaaaaaaabbbbbbbbbbbbbbcccccccccccccdddddddddddddddeeeeeeeeeeeeeeee"

以下のように、文字列リテラルを空白文字(スペースや改行)で区切って並べても同じ意味になる。(文字列を改行で区切る場合は、()で囲む必要がある。)

b = (
    "aaaaaaaaaaaaa"
    "bbbbbbbbbbbbbb"
    "ccccccccccccc"
    "ddddddddddddddd"
    "eeeeeeeeeeeeeeee"
)
a == b # => True

この文字列リテラルの結合は、文法レベルで定義されており、スクリプトのコンパイル時に結合される。

また、以下のように通常の文字列リテラルとf-stringsを混ぜることもできる。

c = "012345" f"67{4*2}90"
c == "01234567890" # => True

参考

作成日: 2023/12/20