Vielleicht eine dumme Frage:
Wie kann man DocString für spezielle Funktionen wie __init__
beim Schreiben einer C-Erweiterung angeben?
Für gewöhnliche Methoden enthält die Methodentabelle Bestimmungen für Docstrings. Die folgende automatisch generierte Dokumentation wird angezeigt, wenn ich help (myclass) versuche:
Aber das ist was ich übersteuern möchte.
Ich denke, es ist am üblichsten, die Definitionen für die verschiedenen Funktionen einfach in tp_doc
zu belassen und es einfach so zu belassen. Sie können dann tun, was Sie sagen, und sich das Dokument Ihres Objekts ansehen. Dies geschieht in der gesamten Standardbibliothek.
Sie haben wirklich keine Möglichkeit, __doc__
in die verschiedenen Slots ( tp_init
usw.) zu schreiben, da sie beim Aufruf von wrapper_descriptor
von einem PyType_Ready
umschlossen sind und der Docstring von a wrapper_descriptor
ist schreibgeschützt.
Ich denke, dass es möglich ist, die Slots zu überspringen und Ihre Methode (z. B. __init__
) zu Ihrer MemberDefs
hinzuzufügen, aber das habe ich noch nie probiert.
Tags und Links python docstring python-c-api python-extensions