web-dev-qa-db-fra.com

Qu'est-ce que E128: ligne de continuation PEP8 sous-indentée pour un retrait visuel?

Vient d'ouvrir un fichier avec Sublime Text (avec Sublime Linter) et j'ai remarqué une erreur de formatage PEP8 que je n'avais jamais vue auparavant. Voici le texte:

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

Il marque le deuxième argument, la ligne qui commence url(...)

J'étais sur le point de désactiver cette vérification dans ST2 mais je voudrais savoir ce que je fais mal avant que j'ignore il. Vous ne savez jamais, si cela semble important, je pourrais même changer mes habitudes :)

272
Oli

PEP-8 recommande vous indentez des lignes dans les parenthèses ouvrantes si vous mettez quelque chose sur la première ligne.

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

ou ne pas mettre d'arguments sur la ligne de départ, puis indenter à un niveau uniforme:

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

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

Je suggère de lire PEP-8 - ce document n’est pas long, et il est assez facile à comprendre, contrairement à certains PEP plus techniques.

433
Gareth Latty

Cela vaut également pour les énoncés comme celui-ci (formaté automatiquement par PyCharm):

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

Ce qui donnera le même avertissement de style. Pour m'en débarrasser, j'ai dû le réécrire comme suit:

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