Die Python-Funktion help(obj) öffnet die interaktive Dokumentation für ein Objekt — Modul, Klasse, Funktion oder Methode. Im REPL ist sie das wichtigste Discovery-Werkzeug: sie zeigt die Docstrings, Signatur, Methoden-Liste und manchmal sogar Code-Beispiele. Ohne Argument öffnet help() einen interaktiven Help-Modus.
Einleitung
Pythons Builtin-Hilfe ist eine der besten unter den Mainstream-Sprachen. Jedes Modul, jede Klasse und jede Funktion kann einen Docstring haben — help() formatiert ihn schön und zeigt ihn an.
Drei häufige Aufrufformen:
help(obj): zeigt Doku zu einem Objekt.help("name")oderhelp("topic"): sucht nach einem Modul- oder Topic-Namen.help()(ohne Argumente): startet den interaktiven Help-Browser.
Hinter den Kulissen nutzt help() das pydoc-Modul. Die gleiche Doku ist auch über die Kommandozeile verfügbar — python -m pydoc str oder python -m pydoc -b für eine HTML-Variante im Browser.
Syntax
help() # interaktiv
help(object)
help("modul.name") # Topic-Sucheobject Beliebiges Python-Objekt (Modul, Klasse, Funktion, Methode, Typ) oder String mit Modul-/Topic-Name.
Rückgabewert
None. help() ist nur wegen seines Seiteneffekts (Anzeige) interessant.
Beispiele
Built-in Funktion
help() zeigt Signatur und Docstring — perfekt zum schnellen Nachschlagen:
help(len)
# Ausgabe (gekürzt):
# Help on built-in function len in module builtins:
#
# len(obj, /)
# Return the number of items in a container.Modul-Dokumentation
Auf Modul-Ebene zeigt help() alle exportierten Namen mit ihren Docstrings:
import json
help(json)
# Zeigt: NAME, DESCRIPTION, FUNCTIONS (loads, dumps, ...), CLASSES, ...Eigene Klasse mit Docstrings
Wer eigene Klassen mit Docstrings versieht, profitiert direkt im REPL:
class Calculator:
"""Ein einfacher Taschenrechner.
Methoden:
add(a, b) — Summe zweier Zahlen
sub(a, b) — Differenz
"""
def add(self, a, b):
"""Addiert zwei Zahlen."""
return a + b
def sub(self, a, b):
"""Subtrahiert b von a."""
return a - b
help(Calculator)
# Zeigt Docstring + Methoden mit ihren DocstringsPraktische Beispiele
Pydoc als HTML-Server
Mit python -m pydoc -b startet ein lokaler Webserver mit der gesamten Modul-Doku — sehr angenehm zum Browsen:
python -m pydoc -b
# → öffnet http://localhost:<port>/ im BrowserPydoc auf der Kommandozeile
Schnelles Nachschlagen ohne REPL — direkt aus der Shell:
python -m pydoc str.split
python -m pydoc os.path
python -m pydoc -k regex # Keyword-Suche in Modul-BeschreibungenInteraktives Help
help() ohne Argument startet einen Help-Modus, in dem Topics und Modul-Namen eingegeben werden können — beendet wird mit quit:
help()
# help> keywords
# help> modules
# help> str.split
# help> quitPraktische Hinweise
- Eigene Docstrings schreiben —
help()und IDEs zeigen sie an. - Konventionen für Docstrings: PEP 257, Google-Style, NumPy-Style, reStructuredText.
__doc__-Attribut:obj.__doc__liefert den rohen Docstring als String.inspect.signature(obj)ergibt die Signatur als Objekt — programmatisch nutzbarer.- Verwandte Module:
pydoc,inspect,dir(),?/??in IPython/Jupyter (noch komfortabler).