3.2.1 함수를 실행하는 방법

여러분은 이 책의 초반부를 학습하면서 이미 함수를 여러번 호출해 보았다. 그것이 함수 호출이라는 것을 몰랐을 뿐이다. 파이썬의 기본 기능의 상당수가 함수의 형태로 제공된다. 화면에 데이터를 출력하는 print() 함수, 사용자로부터 데이터를 입력받는 input() 함수, 수의 절대값을 계산하는 abs() 함수는 모두 함수다. 이 함수를 실행할 때 어떤 방법을 썼는지 떠올려 보자.

  • print('안녕하세요')
  • abs(-10)
  • name = input()

함수 이름 뒤에 괄호를 열고 닫으면 그 이름의 함수가 실행된다. 괄호 속에는 함수에 전달할 데이터를 써 넣기도 한다. 이것이 함수 호출이다.

함수의 실행 과정

함수를 호출하면 다음 순서로 함수가 실행된다.

  1. 괄호 속의 데이터가 함수에 전달된다.
  2. 함수 본문의 파이썬 코드가 위에서 아래로 차례대로 실행된다.
  3. 함수가 끝나면 함수 실행이 종료되고, 함수의 실행 결과가 반환된다.

함수와 데이터 교환하기

함수는 데이터를 입력받기도 하고 출력하기도 한다. 함수에 데이터를 입력할 때는 abs(-10)의 -10처럼 괄호 안에 데이터를 써 넣어 전달한다. 함수가 출력한 데이터를 보관해 둘 때는 name = input()처럼 함수의 반환값을 변수에 대입하면 된다. 함수에서 데이터를 입력받고 출력하는 방법은 3.3절에서 더 자세히 알아볼 것이다. 함수를 호출하는 요령을 다음과 같이 정리해 두자.

알아 두기

  • 함수 호출하기: 함수이름()
  • 함수에 데이터를 전달하여 호출하기: 함수이름(데이터)
  • 함수를 호출하여 출력된 반환값을 보관하기: 결과 = 함수이름(데이터)
  • 함수를 호출하여 출력된 반환값을 화면에 출력하기: print(함수이름(데이터))

연습문제

연습문제 3-1 함수 호출 찾아보기

다음 프로그램에서 호출되는 함수의 이름을 모두 나열해 보아라.

import math

print('수를 입력해 주세요')
number = int(input())

result = round(math.sqrt(number * math.pi))
print('계산 결과:', result)