함수에서 docstring 가져 오기


184

다음과 같은 기능이 있습니다.

def my_func():
    """My docstring is both funny and informative"""
    pass

docstring에 액세스하려면 어떻게해야합니까?


13
-OO를 사용하여 Python을 실행하면 docstring이 제거됩니다. 코드를 다른 사람에게 배포하려는 경우 코드가 그렇게 실행될 수 있음을 명심하십시오. 코드가 docstrings에 의존하지만 존재하지 않는 경우를 포착하지 않으면 사람들이 정말로 불행하게됩니다.
DNS

답변:


243

대화식으로

help(my_func)

또는 코드에서 검색 할 수 있습니다

my_func.__doc__

1
BTW :이 기술은 내장 함수와 모듈 및 클래스에서 작동합니다 (객체와 함께 help ()도 테스트 할 수 있습니다). 이것은 파이썬 쉘을 대화 형 도움말 쉘로 만듭니다!
Daren Thomas

3
ipython 프롬프트에서 my_func ?? 그리고 docstring도 보여줄 것입니다.
ronak

1
help (func)는 읽을 수있는 출력을 제공하고 func .__ doc__는 인라인 출력을 제공합니다. 답변 해주셔서 감사합니다.
imsrgadich

77

을 사용할 수도 있습니다 inspect.getdoc. __doc__탭을 공백으로 정규화하고 문서 본문을 왼쪽으로 이동하여 공통 선행 공백을 제거하여 정리 합니다.


8

ipython 또는 jupyter 노트북에서 위에서 언급 한 모든 방법을 사용할 수 있지만

my_func?

또는

?my_func

메소드 서명과 docstring의 빠른 요약.

나는 사용을 피한다

my_func??

docstring에 대한 (@rohan의 주석 첨부) 소스 코드 확인에만 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.