web-dev-qa-db-ja.com

PEP8のE128:視覚的インデントのために字下げされている継続行とは

Sublime Text(Sublime Linter)でファイルを開いたところ、PEP8フォーマットエラーに気付いたことがありませんでした。ここにテキストがあります:

urlpatterns = patterns('',
    url(r'^$', listing, name='investment-listing'),
)

2番目の引数、url(...)で始まる行にフラグを立てています

ST2でこのチェックを無効にしようとしていましたが、何が間違っているのか知りたいのですが無視する前に。それが重要だと思うなら、私は自分のやり方を変えるかもしれません:)

262
Oli

PEP-8は 最初の行に何かを入れる場合は左括弧に行をインデントすることをお勧めします、それでそれはどちらかが左大括弧にインデントするべきです:

urlpatterns = patterns('',
                       url(r'^$', listing, name='investment-listing'))

開始行に引数を入れずに、統一レベルまでインデントします。

urlpatterns = patterns(
    '',
    url(r'^$', listing, name='investment-listing'),
)

urlpatterns = patterns(
    '', url(r'^$', listing, name='investment-listing'))

私はPEP-8を読んでみることをお勧めします - それは長い文書ではなく、より技術的なPEPとは異なり、理解するのはかなり簡単です。

420
Gareth Latty

これは次のようなステートメントにも当てはまります(PyCharmによって自動フォーマットされます):

    return combine_sample_generators(sample_generators['train']), \
           combine_sample_generators(sample_generators['dev']), \
           combine_sample_generators(sample_generators['test'])

これは同じスタイル警告を与えます。それを取り除くために、私はそれを書き直さなければなりませんでした:

    return \
        combine_sample_generators(sample_generators['train']), \
        combine_sample_generators(sample_generators['dev']), \
        combine_sample_generators(sample_generators['test'])
4
displayname