J'ai la fonction suivante :
def my_func():
"""My docstring is both funny and informative"""
pass
Comment puis-je avoir accès à la docstring ?
J'ai la fonction suivante :
def my_func():
"""My docstring is both funny and informative"""
pass
Comment puis-je avoir accès à la docstring ?
BTW : Cette technique fonctionne aussi bien avec les fonctions intégrées qu'avec les modules et les classes (testez help() avec des objets - cela pourrait aussi fonctionner). Cela fait de votre shell python un shell d'aide interactif !
Vous pouvez également utiliser inspect.getdoc
. Il nettoie le __doc__
en normalisant les tabulations en espaces et en décalant vers la gauche le corps du document pour supprimer les espaces de tête courants.
Sur ipython ou jupyter notebook, vous pouvez utiliser toutes les méthodes mentionnées ci-dessus, mais j'opte pour la méthode suivante
my_func?
o
?my_func
pour un résumé rapide de la signature de la méthode et de la docstring.
J'évite d'utiliser
my_func??
(comme commenté par @rohan) pour la docstring et l'utiliser uniquement pour vérifier le code source.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
18 votes
Notez que l'exécution de Python avec -OO supprime les docstrings. Si vous avez l'intention de distribuer votre code à d'autres personnes, n'oubliez pas qu'elles peuvent l'exécuter de cette façon. Ces personnes seront vraiment très malheureuses si votre code repose sur les docstrings, mais ne prend pas en compte le cas où elles n'existent pas.