Function Design Recipe (FDR) 이해하기
이를 위하여 앞 강좌에서 사용한 convert_to_celsius() 함수를 다시 기억합니다.
def convert_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
convert_to_celsius() 함수를 FDR로 처리한 예제가 다음처럼 됩니다.
def convert_to_celsius(fahrenheit):
""" (int) -> int #1
Return the celcius number from the given fahrenheit number. #2
>>> convert_to_celsius(212) #3
100 #4
""" #5
return (fahrenheit - 32) * 5/9
convert_to_celsius() 함수안에 여러줄이 포함된 것을 볼수 있습니다.
새롭게 추가된 부분은 일정한 규칙을 따르면서 작성합니다.
#1에 해당하는 부분은 FDR의 시작을 나타내는 """ 문장이 있습니다.
그리고 convert_to_celsius() 함수의 입력 파라메타가 정수임을 나타내는 (int) 문장과 출력값도 정수임을 나타내는 -> int 문장이 있습니다.
FDR 문장은 #5에서 시작 부분과 동일하게 """ 문장을 작성함으로서 종료지점을 나타냅니다.
#2는 convert_to_celsius() 함수에 대한 자세한 설명을 합니다.
현재는 간단하게 섭씨를 받아서, 화씨로 바꾼다는 정도로만 작성했지만,
보다 복잡한 함수는 가능한 자세하게 설명을 하면 좋습니다.
#3은 convert_to_celsius() 함수의 동작 예제를 보여주어, 처음 함수를 접하는 사람도 쉽게 사용할 수 있도록 합니다.
#4는 convert_to_celsius() 함수의 동작 예제에 대한 결과를 보여줍니다.
동작 예제는 필요한 경우, 여러 가지에 대한 사례를 보여주면, 활용하는 사람 입장에서 편리할 것입니다.
Docstring
다른 사람이 궁금할때 읽고 이해할 수 있는 설명글
너가 짠 프로그래밍을 다른사람들에게 쉽게 설명되야한다
이는 교육자들이 너의 함수를 교육받는 시간을 줄여 생산성을 높이기위함이다.
해당 자료는 경희대학교 소프트웨어융합학과 이성원교수님 수업내용을 참조하였습니다.
'Code > Phyton' 카테고리의 다른 글
[Phyton] List / Aliasing vs Slicing / List of lists (0) | 2019.10.07 |
---|---|
[Phyton] Modules/ Method & Class/ Object (1) | 2019.09.30 |
[Phyton] String/ Escape Sequence/ Slicing String (0) | 2019.09.23 |
[Phyton] 내장 함수/ 사용자 함수 (0) | 2019.09.22 |
[Phyton] 변수/ 데이터 타입 (0) | 2019.09.22 |