답변:
올바른 방법은 docstring을 제공하는 것입니다. 그렇게하면 help(add)
의견을 뱉어냅니다.
def add(self):
"""Create a new user.
Line 2 of comment...
And so on...
"""
그것은 주석을 열기위한 3 개의 큰 따옴표이고, 그것을 끝내기위한 또 다른 3 개의 큰 따옴표입니다. 유효한 Python 문자열을 사용할 수도 있습니다. 여러 줄일 필요는 없으며 큰 따옴표는 작은 따옴표로 대체 할 수 있습니다.
참조 : PEP 257
docstring을 사용하십시오 :
모듈, 함수, 클래스 또는 메소드 정의에서 첫 번째 명령문으로 발생하는 문자열 리터럴입니다. 이러한 docstring은
__doc__
해당 객체 의 특수 속성 이됩니다 .모든 모듈에는 일반적으로 docstring이 있어야하며 모듈에서 내 보낸 모든 함수와 클래스에는 docstring도 있어야합니다. 공용 메소드 (
__init__
생성자 포함 )에도 docstring이 있어야합니다. 패키지는__init__.py
패키지 디렉토리 에있는 파일 의 모듈 docstring에 문서화 될 수 있습니다 .파이썬 코드의 다른 곳에서 발생하는 문자열 리터럴도 설명서 역할을 할 수 있습니다. 그것들은 파이썬 바이트 코드 컴파일러에 의해 인식되지 않으며 런타임 객체 속성 (즉
__doc__
,에 할당되지 않음)으로 액세스 할 수 없지만 소프트웨어 도구에 의해 두 가지 유형의 추가 docstring이 추출 될 수 있습니다.
- 모듈, 클래스 또는
__init__
메서드 의 최상위 수준에서 간단한 할당 직후에 발생하는 문자열 리터럴을 "속성 문서 문자열"이라고합니다.- 다른 docstring 바로 다음에 나오는 문자열 리터럴을 "추가 docstrings"라고합니다.
속성 및 추가 docstring에 대한 자세한 설명 은 PEP 258 , "Docutils Design Specification" [2]를 참조하십시오.
좋은 의견 수렴의 원칙은 상당히 주관적이지만 다음과 같은 지침이 있습니다.
Python 코드에서 docstring 사용에 대해 읽으십시오 .
파이썬 docstring 규칙에 따라 :
함수 또는 메소드의 docstring은 그 동작을 요약하고 인수, 반환 값, 부작용, 발생 된 예외 및 호출 가능시기에 대한 제한 사항 (해당되는 경우 모두)을 문서화해야합니다. 선택적 인수가 표시되어야합니다. 키워드 인수가 인터페이스의 일부인지 여부를 문서화해야합니다.
황금률은 없지만, 팀의 다른 개발자 (있는 경우) 나 6 개월 후 다시 돌아올 때 자신에게 의미가있는 의견을 제공하십시오.
docstrings를 사용하십시오 .
이것은 함수 설명 주석에 대한 PyCharm 의 기본 제안 규칙입니다 .
def test_function(p1, p2, p3):
"""
my function does blah blah blah
:param p1:
:param p2:
:param p3:
:return:
"""
def
됩니까? (수사적 질문이 아닙니다.)
나는 이것이 주석이 아니라 대부분의 (모든?) 답변이 제안하는 docstring에 동의하지만 numpydoc (docstring 스타일 가이드) 을 추가하고 싶습니다 .
이렇게하면 (1) 자동으로 문서를 생성하고 (2) 사람들이이를 인식하고 코드를 쉽게 읽을 수 있습니다.