什么是PEP8的E128:延续线缩进为视觉缩进?

时间:2013-03-15 15:10:15

标签: python sublimetext2 pep8

刚刚用Sublime Text(Sublime Linter)打开了一个文件,发现了一个我以前从未见过的PEP8格式错误。这是文字:

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

它标记了第二个参数,即开始url(...)

的行

我准备在ST2中禁用此检查,但 我想知道我做错了 ,然后才忽略它。你永远不会知道,如果它看起来很重要我甚至可能改变我的方式:)

2 个答案:

答案 0 :(得分:418)

PEP-8 recommends如果在第一行放置任何内容,则将行缩进到左括号,因此它应该缩进到左括号:

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。

答案 1 :(得分:4)

这也适用于这样的语句(由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'])