불행히도 변수 (및 상수)에는 문서화 문자열이 없습니다. 결국, 변수는 정수의 이름 일 뿐이며 함수 또는 클래스 객체에 대한 방법으로 숫자 1
에 문서화 문자열을 첨부하지 않으려 고합니다.
stdlib의 거의 모든 모듈을 보면 pickle
과 같이 사용하는 유일한 설명은 주석입니다. 그리고 네, 그 help(pickle)
만이 표시됩니다 것을 의미합니다 :
DATA
APPEND = b'a'
APPENDS = b'e'
…
을 ... 완전히 의견을 무시. 문서가 내장 도움말에 나타나게하려면 모듈의 문서 문자열에 문서를 추가해야합니다.
하지만 스핑크스는 기본 제공 도움말보다 더 많은 작업을 수행 할 수 있습니다. 상수에 주석을 추출하도록 구성하거나 autodata
을 사용하여 반자동으로 설정할 수 있습니다. 예를 들어 : #:
라인 어떤 할당 문 앞에
#: Indicates some unknown error.
API_ERROR = 1
다중, 또는 문 오른쪽에 하나의 #:
코멘트 효과적으로 객체에 대한 문서화 문자열이 autodoc에 의해 포착과 같은 작동합니다. 인라인 rST를 처리하고, 변수 이름에 대해 rST 헤더를 자동 생성합니다. 그 일을하기 위해해야 할 일은별로 없습니다.
보조 노트로
,이 같은 별도의 상수 대신 enum
사용을 고려할 수 있습니다. Python 3.4를 사용하고 있지 않다면 (아마도 아직은 ...), 3.2+ 또는 flufl.enum
에 대한 backport.enum
패키지가 있습니다 (동일하지는 않지만 유사합니다. stdlib 모듈의 주요 영감 이었기 때문입니다).) 2.6 이상.
(안 flufl.enum
하지만 다음 stdlib/백 포트 버전) 열거 인스턴스도 문서화 문자열을 가질 수 있습니다 : 그들은 불행하게도 help(MyErrors.MISSING_PARAMS)
에 표시되지 않지만
class MyErrors(enum.Enum):
"""Indicates some unknown error."""
API_ERROR = 1
"""Indicates that the request was bad in some way."""
BAD_REQUEST = 2
"""Indicates that the request is missing required parameters."""
MISSING_PARAMS = 3
, 그들은 스핑크스 autodoc가 선택할 수 문서화 문자열입니다.
"이 상수를 어떻게 문서화 할 수 있습니까?" 주석 (또는 귀하의 경우에 문자열)을 추가하는 것은 이미 문서 형식입니다. sphinx-autodoc으로 내부 문서를 인식하고이를 스핑크스 출력물에 표시하는 방법을 묻고 있습니까? – mgilson