Ich habe viele aufrufbare Objekte und sie alle haben die __doc__
Zeichenfolge richtig ausgefüllt, aber die Hilfe auf ihnen erzeugt die Hilfe für ihre Klasse anstelle der Hilfe basierend auf __doc__
.Woher erhält Pythons pydoc-Hilfe ihren Inhalt?
Ich möchte es ändern, so dass das Ausführen von Hilfe für sie benutzerdefinierte Hilfe erzeugt, die im Wesentlichen aussieht, was ich erhalten würde, wenn sie tatsächliche Funktionen anstelle von Instanzen einer Klasse wären, die __call__
implementiert.
In Code, würde Ich mag die Ausgabe davon machen:
class myCallable:
def __init__(self, doc):
self.__doc__ = doc
def __call__(self):
# do some stuff
pass
myFunc = myCallable("some doco text")
help(myFunc)
eher wie der Ausgang dieses:
def myFunc():
"some doco text"
# do some stuff
pass
help(myFunc)
Meine Vermutung ist, dass Das Problem hier ist, dass die klassenbasierte myFunc Typinstanz hat, während die andere Typ Funktion hat. Ich bin mir nicht sicher, ob es einen Weg gibt. (Probieren Sie den Drucktyp (myFunc) auf jedem zu sehen) – Suppressingfire
Sie haben Recht über die Typen, wird diese Information in pydoc verwendet? –