164

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

- self.text のドットの近くにある実線の細い線は 80 文字のマークです。

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

作業コード:

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

リンターは、私が PEP-8 の E122 を尊重していないと考えています。文字列を正しくしてコードを準拠させる方法はありますか?

4

5 に答える 5

17

@noddy が述べたように、このアプローチは変数代入式でも機能します。

var1 = "foo"
var2 = "bar"
concat_var = (f"First var is: {var1}"
              f" and in same line Second var is: {var2}")
print(concat_var)

あなたに与えるべきです:

First var is: foo and in same line Second var is: bar
于 2019-07-18T05:14:20.700 に答える
3

複数行の引用スタイルと通常の文字列および f-string を混在させることができます。

foo = 'bar'
baz = 'bletch'
print(f'foo is {foo}!\n',
      'bar is bar!\n',
      f"baz is {baz}!\n",
      '''bletch
      is
      bletch!''')

これを出力します (インデントに注意してください):

foo is bar!
 bar is bar!
 baz is bletch!
 bletch
      is
      bletch!
于 2021-03-15T20:53:06.810 に答える