Assez lié à about python __doc__ docstring. Dans le cas où je n'utiliser pas functools et utiliser le wrapper comme mentionné dans How to print Docstring of python function from inside the function itself?, existe-t-il un moyen d'obtenir la docstring imprimé.Comment imprimer docstring en dehors d'une fonction en utilisant des wrappers?
def passmein(func):
def wrapper(*args, **kwargs):
return func(func, *args, **kwargs)
return wrapper
@passmein
def testfunc(me):
"""This is a test function"""
#print me.__doc__
if __name__ == '__main__':
print testfunc.__doc__
Ceci n'en renvoie aucun.
Pourquoi essayez-vous d'imprimer 'me .__ doc__' au lieu de' fonction_test .__ doc__'? – abarnert
En attendant, si tout ce que vous demandez est comment envelopper les fonctions d'une manière qui préserve la docstring sans utiliser 'functools.wraps' ... il suffit de regarder [la source] (http://hg.python.org/cpython/file /2.7/Lib/functools.py#l15) et faites la même chose. Mais je ne peux pas imaginer pourquoi tu aurais jamais voulu ça. – abarnert
@ abamert- L'impression devait l'utiliser pour afficher la docstring depuis l'intérieur de la fonction quand je l'appelle. –