2017-08-30 4 views
6

私は国内プロジェクト用のPEP-8準拠のコードを書こうとしています(これらはPythonの世界で私の最初のステップであることを認めなければなりません)。 80文字以上Pythonの複数行f-string

https://i.stack.imgur.com/Wn6Jh.png - self.textのドットに近い細い細い線が80文字です。 私が最もニシキヘビ方法が、実際にされた作品のみaswerに別の行に分割しようとしている

(プレビューなしで悲しいリンクのため申し訳ありませんが、私は10+奴らを投稿する担当者を持っている必要があります)私リンターのエラー

ワーキングコード:

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を尊重していないと思っています。文字列を正しく取得し、コードに準拠させる方法はありますか?

+0

になると思います。その後、変数を返すだけです。 E122に準拠していない理由は、おそらく次の行をインデントしていないためです。 –

+0

E122の詳しい説明は何ですか? –

+1

か、あなたのideに行の文字制限を増やすか、そのルールをすべて無視するように伝えてください。 –

答えて

6

は、私はそれはあなたが、その後、 `+ = '使用して各パーツを追加し、1行にすべてを返す変数にベース文字列を作成するために持っていけない

return f'''{self.date} - {self.time}, 
Tags: {self.tags}, 
Text: {self.text}''' 
+0

これで閉じた私は人々が私は...だと思えば削除することができますが、それは括弧の答えで覆われていません:/ \ –

+2

しかし、このような複数行のf-文字列とインデントの目的を破る また、このように、トリプルクォート文字列を正しく使用すると、ハックのように感じる – Owlzy

関連する問題