2015-04-10 2 views
1

PEP8 dit de mettre deux lignes vides entre la définition de niveau supérieur et les définitions de classe, mais qu'en est-il des affectations de variables de niveau supérieur ou des appels de méthode. Ma situation spécifique est des choses comme admin.site.register() et urlpatterns = [] et divers paramètres dans settings.py entre autres choses. Parfois, il semble que 2 lignes a le plus de sens (urlpatterns) mais parfois il semble que 1 ligne soit la plus logique (admin.site.register, settings). J'aime coller aux normes de codage du mieux que je peux, alors je me demandais s'il y avait une règle à ce sujet.Combien de lignes vides entre les affectations de variables de niveau supérieur ou les appels de méthode?

Répondre

3

Vous pouvez simplement les grouper de manière logique, comme dans une fonction.

La règle de double ligne vide s'applique uniquement aux définitions de fonctions et de classes au niveau supérieur.

La seule section PEP-8 est pertinente Blank Lines et il est écrit ici:

fonction de haut niveau séparés et définitions de classe avec deux lignes vides.

et

utilisation des lignes vides dans les fonctions, avec parcimonie, pour indiquer sections logiques.

Le guide de style de Google pour Python est d'accord ici et n'ajoute rien de plus spécifique. Leur Blank Lines section lit:

Deux lignes vides entre les définitions de niveau supérieur, qu'il s'agisse de définitions de fonctions ou de classes. Une ligne vide entre les définitions de méthode et entre la ligne de classe et la première méthode. Utilisez des lignes vierges comme vous le jugez approprié dans les fonctions ou les méthodes.

+0

Tout va bien, merci! Il est parfaitement OK d'utiliser 2 lignes vides si c'est logique? Comme si je produisais 2 listes d'objets de taille similaire à celles d'une classe. – semicolon

+1

@semicolon: Personnellement, je n'utiliserais pas deux lignes vides dans ce cas, car les listes ne sont pas des fonctions ou des classes, mais c'est un style * guide *, pas un style * loi *. :-) –

+0

Dans ce cas, combien de lignes entre les importations et les premières lignes de code non-import? Jusqu'ici j'ai toujours utilisé 2 mais c'est en grande partie parce que généralement la première ligne non-import est une classe ou une fonction. Une autre chose est combien utiliser entre une classe/fonction et autre chose qu'une classe/fonction? Deux je présume? – semicolon