Pensez à quelqu'un qui fait help(yourmodule)
à l'invite de l'interprète interactif - que veut-il savoir? (D'autres méthodes d'extraction et d'affichage des informations sont à peu près équivalentes help
en termes de quantité d'informations). Donc, si vous avez x.py
:
"""This module does blah blah."""
class Blah(object):
"""This class does blah blah."""
puis:
>>> import x; help(x)
spectacles:
Help on module x:
NAME
x - This module does blah blah.
FILE
/tmp/x.py
CLASSES
__builtin__.object
Blah
class Blah(__builtin__.object)
| This class does blah blah.
|
| Data and other attributes defined here:
|
| __dict__ = <dictproxy object>
| dictionary for instance variables (if defined)
|
| __weakref__ = <attribute '__weakref__' of 'Blah' objects>
| list of weak references to the object (if defined)
Comme vous le voyez, les informations détaillées sur les classes (et les fonctions aussi, bien que je n'en montre pas une ici) sont déjà incluses à partir des docstrings de ces composants; la propre docstring du module devrait les décrire très sommairement (voire pas du tout) et se concentrer plutôt sur un résumé concis de ce que le module dans son ensemble peut faire pour vous, idéalement avec quelques exemples doctestinés (tout comme les fonctions et les classes devraient idéalement avoir des exemples doctestés dans leurs docstrings).
Je ne vois pas comment les métadonnées telles que le nom de l'auteur et les droits d'auteur / licence aident l'utilisateur du module - elles peuvent plutôt aller dans les commentaires, car cela pourrait aider quelqu'un à envisager de réutiliser ou de modifier le module.
help()
méthode dans l'interpréteur que d'utilisateurs qui lisent simplement le code.Pour citer les spécifications :
La docstring d'une fonction ou d'une méthode est une phrase se terminant par un point. Il prescrit l'effet de la fonction ou de la méthode comme une commande ("Faites ceci", "Renvoyez cela"), pas comme une description; par exemple, n'écrivez pas "Renvoie le chemin d'accès ...". Une docstring multiligne pour une fonction ou une méthode doit résumer son comportement et documenter ses arguments, valeur (s) de retour, effets secondaires, exceptions levées et restrictions sur le moment où elle peut être appelée (le cas échéant). Les arguments facultatifs doivent être indiqués. Il convient de documenter si les arguments de mot-clé font partie de l'interface.
la source