Python の複数行の f 文字列 質問する

Python の複数行の f 文字列 質問する

国内プロジェクト用に PEP-8 準拠のコードを書こうとしていますが、80 文字を超える f 文字列を含む行があります。

def __str__(self):
    return f'{self.data} - {self.time},\nTags: {self.tags},\nText: {self.text}'

私は最もPython らしい方法でそれを複数の行に分割しようとしていますが、実際に機能する唯一の答えは私のリンターのエラーです。

動作コード:

def __str__(self):
    return f'{self.date} - {self.time},\nTags:' + \
    f' {self.tags},\nText: {self.text}'

出力:

2017-08-30 - 17:58:08.307055,
Tags: test tag,
Text: test text

リンターは私が尊重していないと思っているE122からペップ8文字列を正しくし、コードを準拠させる方法はありますか?

ベストアンサー1

からPython コードのスタイル ガイド:

長い行を折り返す推奨方法は、括弧、大括弧、中括弧内で Python の暗黙的な行継続を使用することです。

これを踏まえると、次の方法で PEP-8 に準拠した方法で問題を解決できます。

return (
    f'{self.date} - {self.time}\n'
    f'Tags: {self.tags}\n'
    f'Text: {self.text}'
)

Python 文字列は、コンマで区切られていない場合は自動的に連結されるため、明示的に を呼び出す必要はありませんjoin()

おすすめ記事