J'ai la fonction suivante:Obtenir le docstring d'une fonction
def my_func():
"""My docstring is both funny and informative"""
pass
Comment puis-je avoir accès à la docstring?
J'ai la fonction suivante:Obtenir le docstring d'une fonction
def my_func():
"""My docstring is both funny and informative"""
pass
Comment puis-je avoir accès à la docstring?
interactivement, vous pouvez l'afficher avec
help(my_func)
Ou du code que vous pouvez récupérer avec
my_func.__doc__
BTW: Cette technique fonctionne avec des fonctions intégrées ainsi que des modules et des classes (aide au test() avec des objets aussi - pourrait aussi fonctionner). Cela rend votre shell python un shell d'aide interactif! –
Sur l'invite ipython, vous pouvez faire my_func ?? et il montrerait le docstring aussi bien. – ronak
Python est tellement cool – ThorSummoner
Vous pouvez également utiliser inspect.getdoc. Il nettoie le __doc__ en normalisant les tabulations vers les espaces et en décalant vers la gauche le corps du document pour supprimer les espaces principaux communs.
Maintenant c'est exactement ce que j'essayais de faire moi-même. Merci pour ça. – ereOn
Sur ipython ou ordinateur portable jupyter, vous pouvez utiliser tous les moyens mentionnés ci-dessus, mais j'aller avec
my_func?
ou
?my_func
pour un résumé rapide à la fois la signature de la méthode et docstring.
J'éviter d'utiliser
my_func??
(comme commenté par @rohan) pour docstring et l'utiliser uniquement pour vérifier le code source
Notez que l'exécution de Python avec -OO bandes sur docstrings. Si vous avez l'intention de distribuer votre code à d'autres, gardez à l'esprit qu'ils peuvent l'exécuter de cette façon. Cela rendra vraiment ces gens vraiment mécontents si votre code repose sur des docstrings, mais n'attrape pas le cas où ils n'existent pas. – DNS
Bravo pour ça, c'est une information plutôt utile. – Teifion
@DNS Merci, je me demandais pourquoi tous mes docstrings étaient None. – Timo