주석에 대해서 설명한 적이 있었고, 기본 자료형에서 문자열을 이야기할 때 샘플 코드에서 큰 따옴표 3개는 함수의 docstring에서 사용한다라고 한 적 있었습니다. docstring모듈, 함수, 클래스, 메소드 정의의 최상단에 위치하는 문자열입니다. 주석의 일종이지만, 컴파일 타임에 제외되는 # 주석과 다르게 하나의 특수 속성이 됩니다. 아래는 함수에 대한 docstring의 예입니다.

함수 정의 최상단에 큰 따옴표 3개로 묶인 문자열로 docstring을 정의했습니다. 함수에 대한 설명, 파라미터 정보, 반환값에 대한 정보가 포함되어 있습니다. 이를 통해 각 파라미터에는 어떤 타입의 값을 전달해야 하는지, 함수가 어떤 작업을 하고, 어떤 값을 반환하는지 등을 바로 이해할 수 있습니다. 한가지 신기한 점은, help라는 함수에 sum 함수를 전달하고 반환받은 docstring에 대한 정보와, __doc__이라는 함수의 속성입니다. docstring은 # 주석처럼 컴파일 타임에 제외되지 않는다는 것입니다. 따라서 Python의 docstring은 최소한의 노력으로 코드를 문서화할 수 있는 강력한 무기입니다.

docstring은 작은 따옴표 3개로 묶인 문자열로 작성해도 상관 없으나, Python docstring 제안서에서는 큰 따옴표를 권고하고 있습니다. docstring은 함수만이 아니라 모듈, 클래스, 메소드 등에 모두 작성 가능하며 docstring을 작성하는 스타일은 Google의 Python docstring guide가 가장 대표적입니다. 주석과 docstring이 필수는 아니지만, 지금의 내가 아닌 내 코드를 보는 다른 사람을 위해 꼭 적어주는 것이 좋습니다.

'Python 계열 > Python 레거시 글' 카테고리의 다른 글

[Python] 빌트인 함수  (0) 2018.06.28
[Python] 값으로서의 함수와 lambda  (0) 2018.06.27
[Python] 함수  (0) 2018.06.25
[Python] pass statement  (0) 2018.06.24
[Python] 반복문 - while  (0) 2018.06.23

+ Recent posts