더북(TheBook)

파이썬의 함수(function)도 비슷합니다. 들어온 값, 즉 입력값(x)에 따라 결과, 즉 출력값(y)이 달라지는 어떤 동작(f(x))을 수행합니다. 파이썬에서는 함수의 입력값을 전달값이라고 하고, 출력값을 반환값이라고 합니다. 파이썬 함수는 전달값, 반환값에 동작까지 포함해 3가지 요소로 이뤄집니다.

앞의 그림을 파이썬 함수와 비교하면 전달값은 5, 동작은 □ + 20, ?는 반환값입니다. 반환값은 결국 25겠죠. 만약 전달값이 10으로 바뀐다면 반환값은 10 + 20을 해서 30이 됩니다.

사실 함수는 앞에서 이미 많이 다뤄 봤습니다. print(), len(), input() 등이 모두 함수입니다. 이들은 파이썬에서 특정 기능을 하도록 미리 만들어 둔 함수로, 파이썬에 포함돼 있다는 의미로 내장 함수라고 합니다. 그러나 파이썬에 모든 기능이 미리 만들어져 있지는 않습니다. 그래서 개발자가 파이썬으로 직접 코드를 작성해 함수를 만들 수 있습니다. 이를 사용자 정의 함수라고 하며, 만드는 형식은 다음과 같습니다.

형식

def 함수명():
    실행할 문장1
    실행할 문장2
    ...

가장 먼저 함수를 나타내는 def라는 키워드가 오고 한 칸 띄운 후 함수명을 적습니다. 함수명은 소문자로 작성하는데, 언더바(_)도 사용할 수 있습니다. 그리고 함수명 뒤에는 소괄호(())와 콜론(:)을 붙입니다. 다음 줄에는 함수가 어떤 동작을 하는지 작성합니다. 이 부분은 함수 본문이라고 합니다. 함수 본문은 함수에 속한다는 표시로 들여쓰기합니다. 들여쓰기는 4칸을 권장합니다. 이와 같은 형식으로 함수를 만드는 것을 함수 정의라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.