Die Sphinx-Dokumentation auf http://www.sphinx-doc.org/en/stable/domains.html#cross-referencing-python-objects sagt,Was ist der Unterschied im Verhalten zwischen: func: und: meth: Rollen in Python Sphinx?
: py: func: Referenz eine Python-Funktion; Gepunktete Namen können verwendet werden. Der Rollentext muss keine abschließenden Klammern enthalten, um die Lesbarkeit zu verbessern. Sie werden automatisch von Sphinx hinzugefügt, wenn der Config-Wert add_function_parentheses True ist (der Standardwert).
: py: meth: Referenzieren Sie eine Methode eines Objekts. Der Rollestext kann den Typnamen und den Methodennamen enthalten; Wenn es in der Beschreibung eines Typs auftritt, kann der Typname weggelassen werden. Ein gepunkteter Name kann verwendet werden.
Aber ich konnte keinen Unterschied in der Art finden, wie sie sich verhalten.
Hier ist mein Python-Modul, für das ich Dokumentation generiert habe.
"""foo module."""
def hello(name):
"""Print hello addressed to *name*.
Args:
name (str): Name to address.
"""
print('hello', name)
class Foo:
"""Foo class."""
def bye(self, name):
"""Print bye addressed to *name*.
Args:
name (str): Name to address.
"""
print('bye', name)
if __name__ == '__main__':
hello('world')
Foo().bye('python')
Dies ist, was ich in meiner index.rst
-Datei haben.
Foo Documentation
=================
See :func:`foo.hello` and :func:`foo.Foo.bye`.
Also, see :meth:`foo.hello` and :meth:`foo.Foo.bye`.
foo module
==========
.. automodule:: foo
:members:
Nach der Durchführung einer make html
ist dies die Ausgabe, die ich sehe.
Beiden :func:
und :meth:
Rollen haben erzeugen gültige Querverweise Hyperlinks zu hello
Foo.bye
und unabhängig davon, ob das Ziel eine Funktion oder ein Verfahren ist.
Was ist dann der Unterschied zwischen :func:
und :meth:
Rollen. Können Sie ein Beispiel geben, für das sie sich anders verhalten?