Insérer une ligne vierge avant et après toutes les docstrations (une ligne ou multiligne) qui documentent une classe - de manière générale, la classe les méthodes sont séparées les unes des autres par une seule ligne vide et le Docstring doit être compensé à partir de la première méthode par une ligne vide; Pour la symétrie, mettez une ligne vierge entre l'en-tête de la classe et la docstring. p> blockquote>
Mais je ne peux pas sembler trouver de code qui implémente cela. p>
J'ai vérifié plusieurs modules standard livrés avec Python 2.6, même recherché spécifiquement pour ceux où le nom de Guido est mentionné. Mais même le code de l'outil de révision de code de Rietveld, IMHO ne se conformait pas (voir par exemple http://code.google.com/p/rieveld/source/browse/upload.py ): p>
xxx pré> Ce doctrage multi-lignes n'a pas une ligne vierge au-dessus et la ligne vierge après l'extérieur des citations de fermeture. P>
Cette classe de
/usr/lib64/python2.6/site.py code> n'a pas de vide ligne avant mais a une ligne vierge avant et après les citations de fermeture. p>xxx pré> existe-t-il des exemples disponibles pour démontrer PEP 257? P>
Merci d'avance p> p>
3 Réponses :
Pas une réponse directe, mais si vous voulez vous conformer à Pep257, vous pouvez utiliser un outil que j'ai écrit: https://github.com/halst/pep257 p>
i aussi em> a été choqué de voir la quantité de code (également dans la bibliothèque standard) n'essaye même pas de se conformer à Pep257. p>
Probablement, la plupart des gens pensent que leur em> socstring-style a du sens, et j'ai aussi pensé qu'il y a quelque chose de gênant au style Pep257, mais em> après l'avoir utilisé pendant un certain temps J'en suis tombé amoureux,
Et pense que c'est la plus belle façon d'écrire des docstrings. Je suis toujours en train de suivre Pep257 dans tous les aspects que je peux, et j'ai écrit l'outil pour que plus de gens puissent voir comment ils peuvent améliorer leur style. P>
À titre d'exemple, j'ai eu une expérience amusante avec Pep8 et outil pep8 A >: Quand j'ai lu pour la première fois Pep8, je l'ai aimé et pensé em> je le suis, mais quand j'ai essayé mon code sur pep8
J'étais choqué à quelle distance de Pep8 je suis et à quel point mon code s'occupe de mon code, je fixais ces erreurs de style. P>
J'espère que les gens auront des expériences similaires avec Pep257 , et commencez à suivre Pep257 heureusement toujours après. / p>
Merci, cela vous aidera certainement. Il vous montre déjà l'interprétation du PEP légèrement différent de celui que je le faisais.
@Bram intéressant! Quelles parties de PEP avez-vous interprété différemment? Juste curieux. Peut-être qu'il y a une erreur dans mon interprétation.
Avant de lire votre Pep257.py, je n'ai jamais considéré de lignes vierges avant et b> après les citations.
@Bram Notez que la ligne vide avant la doctrine est pour les classes. Pour les fonctions, il est applicable uniquement si la fonction a des groupes de code séparés par des lignes vierges.
Cela semble être une réponse valide, alors pourquoi le -1?
Autant que je sache, le document que vous avez lié à SAID: P>
Insérer une ligne vierge
après forte> toutes les docstrings (une ligne ou plusieurs lignes) qui documentent une classe - de manière générale, les méthodes de la classe sont séparées les unes des autres par une seule ligne vide et La doctrine doit être compensée à partir de la première méthode par une ligne vide. P> blockQuote> (mettre l'accent sur le mien) em> p>
Ainsi, les exemples que vous donnez sont tous corrects car ils ont une ligne vide après la DOCString, séparant ainsi la déclaration de méthode suivante avec une ligne vide. P>
Voici quelques exemples d'échantillons Python PEP (Python Amélioration de Python) Nous avons d'abord choisi la version d'aller avec comme cet échantillon est le plus semblable à Pep-8. Nous devons donc fournir la description de la fonction, le parm et le type de retour ...
def sample_fun(n):
"""Calculate the square root of a number.
Args:
n: the number to get the square root of.
Returns:
the square root of n.
Raises:
TypeError: if n is not a number.
ValueError: if n is negative.
"""
pass
"La liste des questions" / "sondages" ne sont pas sur le sujet du débordement de pile. En outre, je ne vois pas comment cela se rapporte à un vrai problème que vous essayez de résoudre.
J'apprécie les recherches que vous avez faites et certains exemples pourraient être trouvés du format de docstring officiel, mais il n'est pas vraiment clair que le bénéfice fournirait. Il existe des exemples de doctorats incorrects, certains d'entre eux peuvent-être même écrit par Guido. Si vous voulez écrire corrects, suivez simplement les directives (le Doc PEP lui-même donne même des exemples). En bref, quel est le point ici? Pourquoi avez-vous besoin exactement de (plus) exemples de ce formatage?
@AgF: Ce n'était pas conçu comme un sondage. Je crois que le PEP n'est pas clair à 100% sur certaines zones et je recherche des exemples qui clarifient ces parties. Plus précisément, je me loks pour un exemple de doctorats pour une classe qui correspond à la PPE. Le code de Halst montre des lignes vierges avant et après la doctorante de la classe ainsi qu'une ligne vide à la fin de la doctrine elle-même. C'est une autre option que je n'avais même pas envisagée.
@ Iulius-Caesar: Une question plus spécifique est peut-être une question plus spécifique "une ligne vierge avant et après toutes les doctossstrings". Est-ce avant ou après les citations d'ouverture / clôture?
@Bram: Je pense que l'ajout de détails comme celle-ci pourrait aider cette question à obtenir des réponses utiles.