Python PEP: ligne vide après la définition de la fonction?
Je ne trouve pas de PEP référence à ce détail. Il y a une ligne vide après la définition de la fonction?
Dois-je faire ceci:
def hello_function():
return 'hello'
ou doit-je faire ceci:
def hello_function():
return 'hello'
La même question s'applique lorsque les docstrings sont utilisés:
ce:
def hello_function():
"""
Important function
"""
return 'hello'
ou ce
def hello_function():
"""
Important function
"""
return 'hello'
MODIFIER
C'est ce que le PEP est dit sur les lignes vides, comme indiqué par FoxMaSk, mais il ne dit rien sur ce détail.
Des Lignes Vides
Distincts de fonction de niveau supérieur et les définitions de classe avec deux vide
les lignes.Les définitions de méthode à l'intérieur d'une classe sont séparés par un espace simple
ligne.Les lignes vides supplémentaires peuvent être utilisés (avec parcimonie) pour séparer des groupes de
les fonctions connexes. Les lignes vides peuvent être omis, entre un tas de
liées one-liners (par exemple, un ensemble de mannequin implémentations).Utiliser les lignes vides dans les fonctions de, avec parcimonie, pour indiquer les sections logiques.
Python accepte le contrôle-L (c ^L) alimentation de caractère
espaces; de Nombreux outils pour traiter ces caractères comme page de séparateurs, de sorte
vous pouvez les utiliser pour séparer les pages des sections connexes de votre fichier.
Remarque, certains éditeurs sur le web et le code de téléspectateurs peuvent ne pas reconnaître
contrôle-L comme une forme d'alimentation et montrer un autre glyphe à sa place.
- Je l'ai lu comme "ne vous faites pas de friggin' espace de gaspiller des lignes vides pas, à moins que l'un de ces rares exceptions s'appliquent". Viens – t-il vraiment augmenter la lisibilité de séparer les
def
à partir du code? - J'ai vraiment lu que comme une liste exhaustive de tous les endroits où vous pouvez mettre verticale de l'espace. En disant cela, je voudrais mettre une seule ligne vide entre les importations sur la base d'où ils viennent. Groupement de base de python libs, 3e partie libs, et homegrown libs ensemble. Dans cet ordre.
Vous devez vous connecter pour publier un commentaire.
Lire Docstring Conventions.
Il est dit que même si la fonction est vraiment évident que vous avez à écrire une seule ligne de docstring. Et il est dit que:
Donc je code quelque chose comme
Note that all docstrings begin with a one-line summary. The summary is written in the imperative mood ("do", "use", "find", "return", "render", etc) and ends with a period
. Donc je suppose qu'il doit être"""Return 'hello' string."""
Comme l'a souligné @moliware, le Docstring Conventions de l'état, en vertu de Une ligne Docstrings:
CEPENDANT, il dit aussi (sous Multi-ligne Docstrings):
Mon interprétation de tout cela: les lignes vides ne doit jamais précéder toute docstring, et ne devraient suivre une docstring quand c'est pour une classe.