Ich habe die folgende Funktion:gibt es den docstring aus einer Funktion
def my_func():
"""My docstring is both funny and informative"""
pass
Wie kann ich Zugriff auf die docstring bekommen?
Ich habe die folgende Funktion:gibt es den docstring aus einer Funktion
def my_func():
"""My docstring is both funny and informative"""
pass
Wie kann ich Zugriff auf die docstring bekommen?
interaktiv, können Sie es aus dem Code angezeigt werden mit
help(my_func)
Oder Sie können es abrufen mit
my_func.__doc__
BTW: Diese Technik funktioniert mit eingebauten Funktionen sowie Module und Klassen (Test Hilfe() mit Objekten auch - könnte auch funktionieren). Dies macht Ihre Python-Shell zu einer interaktiven Hilfe-Shell! –
Auf der ipython-Eingabeaufforderung können Sie my_func ?? und es würde auch den Docstring zeigen. – ronak
Python ist so verdammt cool – ThorSummoner
Sie auch inspect.getdoc verwenden können. Es bereinigt das __doc__, indem es Tabulatoren in Leerzeichen normalisiert und den Dokumententext verschiebt, um häufig vorkommende Leerzeichen zu entfernen.
Nun, genau das habe ich selbst versucht. Dank dafür. – ereOn
Auf ipython oder jupyter Notebook können Sie alle oben genannten Möglichkeiten nutzen, aber ich gehe mit
my_func?
oder
?my_func
für kurze Zusammenfassung der beiden Methodensignatur und docstring.
Ich vermeide
my_func??
mit (wie durch @rohan kommentiert) für docstring und verwenden Sie nur den Quellcode
Hinweis zu überprüfen, ob mit -OO Python läuft Docstrings abstreift. Wenn Sie beabsichtigen, Ihren Code an andere zu verteilen, denken Sie daran, dass sie den Code auf diese Weise ausführen können. Es wird diese Leute wirklich wirklich unglücklich machen, wenn Ihr Code auf Docstrings angewiesen ist, aber nicht den Fall erfasst, in dem sie nicht existieren. – DNS
Prost für das, das ist ziemlich nützliche Informationen. – Teifion
@DNS Danke, ich habe mich gefragt, warum alle meine Docstrings keine waren. – Timo