什么是PEP8的E128:下缩进的续行,用于视觉缩进?

2024-04-19 23:42:02 发布

您现在位置:Python中文网/ 问答频道 /正文

刚打开一个带有Sublime Text(带有Sublime Linter)的文件,注意到一个PEP8格式错误,这是我以前从未见过的。这是短信:

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

它正在标记第二个参数,即以url(...)开头的行

我本来打算在ST2中禁用此签入,但在忽略它之前,我想知道自己做错了什么。你永远不知道,如果这看起来很重要,我甚至可能改变我的方式:)


Tags: 文件textname标记urllinter格式错误
2条回答

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。

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

相关问题 更多 >