복붙노트

[PYTHON] 스핑크스에서 autodoc으로 생성 된 함수를 어떻게 상호 참조합니까?

PYTHON

스핑크스에서 autodoc으로 생성 된 함수를 어떻게 상호 참조합니까?

Sphinx autodoc 기능을 사용하여 Python 라이브러리의 docstrings을 기반으로 문서를 생성합니다.

상호 참조 구문은 여기에서 찾을 수 있습니다.

해당 섹션이 문서의 다른 영역에서 참조 될 수있게하려면 레이블 앞에 섹션이 있어야합니다.

내가 가진 것은 내 클래스 중 하나에 대한 .rst (ReStructeredText) 파일입니다. 그것은 사용

.. autoclass:: classname
    :members:

클래스에 대한 문서를 생성합니다.

내 질문은 어떻게 내가 설명서에서 다른 .rst 문서에서 클래스의 자동 생성 된 메서드를 참조 할 것이라고 것입니다? 메서드의 docstring 안에 레이블을 넣으려고하면 스핑크스가 불평합니다. 메소드 표제 앞에 레이블을 붙이려고하면 스핑크스가 그것을 인식하지 못합니다.

이 작업을 수행하는 간단한 방법이 있습니까? 또는 클래스 파일에 메서드 이름을 명시 적으로 작성하고 레이블 앞에 붙여야합니까?

다음은 [Python documentation2]에서 필자가 필요한 것을 수행하는 참조 예입니다 (필자는 모름이지만 autodoc 기능을 사용한다고 가정합니다)

해결법

  1. ==============================

    1.레이블을 추가 할 필요가 없습니다. Python 클래스, 메서드 또는 다른 문서화 된 객체를 참조하려면 Python 도메인에서 제공하는 마크 업을 사용하십시오.

    레이블을 추가 할 필요가 없습니다. Python 클래스, 메서드 또는 다른 문서화 된 객체를 참조하려면 Python 도메인에서 제공하는 마크 업을 사용하십시오.

    예를 들어, 다음은 mymethod 메소드에 대한 상호 참조를 정의합니다.

    :py:meth:`mymodule.MyClass.mymethod`
    

    아니면 더 간단합니다 (파이썬 도메인이 기본값이기 때문에) :

    :meth:`mymodule.MyClass.mymethod`
    

    질문에서 링크 된 TextWrapper.wrap의 문서에는이 종류의 두 개의 상호 참조가 포함되어 있습니다 ( "소스보기"를 클릭하면 reST 마크 업을 볼 수 있습니다).

  2. from https://stackoverflow.com/questions/22700606/how-would-i-cross-reference-a-function-generated-by-autodoc-in-sphinx by cc-by-sa and MIT license