Docstrings mit doc zugreifen
Im vorherigen Schritt haben wir die Funktion help()
verwendet, um die Dokumentation für integrierte Funktionen anzuzeigen. Eine weitere Möglichkeit, auf den Docstring eines Objekts (wie einer Funktion) zuzugreifen, ist die Verwendung seines __doc__
-Attributs. Dieses Attribut enthält direkt den Docstring-String.
Sehen wir uns an, wie dies erneut mit der Funktion print()
funktioniert.
Öffnen Sie das integrierte Terminal in der WebIDE, falls es noch nicht geöffnet ist (Terminal
-> New Terminal
).
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project
befinden.
Erstellen Sie eine neue Python-Datei namens access_docstring.py
im Verzeichnis ~/project
mit dem WebIDE-Editor.
Fügen Sie den folgenden Code in die Datei ein:
print(print.__doc__)
Speichern Sie die Datei.
Führen Sie nun das Python-Skript im Terminal aus:
python access_docstring.py
Sie sehen den Docstring der Funktion print
, der direkt auf der Konsole ausgegeben wird:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
Diese Methode liefert Ihnen den rohen Docstring-String, was nützlich sein kann, wenn Sie ihn auf eine benutzerdefinierte Weise verarbeiten oder anzeigen möchten.
Versuchen wir ein weiteres Beispiel mit der Funktion str()
.
Ändern Sie die Datei access_docstring.py
so, dass sie den folgenden Code enthält:
print(str.__doc__)
Speichern Sie die Datei.
Führen Sie das Skript erneut aus:
python access_docstring.py
Sie sehen den Docstring der Funktion str
:
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must be a bytes like object. Otherwise,
returns the string representation of the object.
By default, the encoding is 'utf-8', errors is 'strict'.
Die Verwendung von __doc__
ist eine direkte Möglichkeit, auf den Docstring-Inhalt als String zuzugreifen.