Original article: Python Functions – How to Define and Call a Function

프로그래밍에서 함수는 호출될 때 특정 기능을 실행하는 재사용 가능한 코드 블록입니다.

함수는 코드를 더 모듈화하고 체계적으로 재사용할 수 있도록 도와주기 때문에 모든 프로그래밍 언어의 필수적인 부분입니다.

이 기사에서는 Python에서 함수를 정의하고 호출하는 방법을 설명합니다. 함수의 기본적인 사용법을 배우면 Python 응용 프로그램의 코드를 더 깔끔한 단위로 나누고 정리할 수 있습니다.

또한 인수(argument) 및 매개변수(parameter), 그리고 return 키워드가 Python 함수에서 어떻게 작동하는지 살펴보겠습니다.

Python에서 함수 정의하는 기본 문법

Python에서는 def 키워드를 사용해 함수를 정의하고 함수 식별자(함수 이름) 다음에 괄호와 콜론을 작성합니다.

그런 다음, 탭 또는 공백 4개로 들여쓰기(indent)를 작성 후 함수에서 실행하려는 기능을 코드로 지정해야 합니다.

def functionName():
    # 함수가 실행하는 코드 내용이 여기에 위치합니다

기본적인 Python 함수 예시

위의 기본 함수 정의 문법에 따라 터미널에 "Hello World"를 출력하는 Python 함수의 코드는 다음과 같습니다.

def myfunction():
    print("Hello World")

이 함수를 호출하려면 함수 이름 뒤에 괄호를 작성합니다. 이렇게 말이에요.

myfunction()

함수 호출 시 실행된 작업 내용을 확인하려면, 터미널에 python filename.py를 입력해 작성한 함수 코드를 실행합니다.

python3 func.py 명령어를 실행하니 터미널에 Hello World가 출력된 모습

아래 예시를 통해 두 숫자의 뺄셈을 계산하는 함수의 코드를 확인해봅시다.

def subtractNum():
    print(34 - 4)
subtractNum()
# 출력된 결과: 30

함수에 전달되는 매개변수(parameters)와 인수(argument)

Python에서 함수를 정의할 때 매개변수(parameters)를 괄호 안에 넣어 함수에 전달할 수 있습니다.

함수를 정의하면서 전달되는 매개변수를 지정하는 기본 문법은 다음과 같습니다.

#함수가 선언 및 정의될 때는 매개변수를 괄호 안에 지정합니다
 def functionName(param1, param2):
    # 함수가 실행하는 코드 내용이 여기에 위치합니다

함수 호출 시, 매개변수에 전달될 값을 지정해야 합니다. (이 전달된 값을 바로 인수라고 합니다 --옮긴이).

#함수가 호출될 때 인수 값을 전달합니다
functionName(arg1, arg2)

(더 정확한 이해를 돕기 위해 매개변수와 인수의 정의를 정리해보겠습니다. --옮긴이)

  • 매개변수는 함수 정의 문법 괄호 사이에 표시된 변수입니다
  • 인수는 함수 호출 시 매개변수에 전달되는 값입니다

Python 함수에 매개변수와 인수가 전달되는 예시를 확인해봅시다.

def addNum(num1, num2):
    print(num1 + num2)
addNum(2, 4)
# 함수 호출의 결과: 6

위의 예시에 관해 몇 가지 정리해봅시다.

  • addNum 함수에 매개변수 num1, num2 두 개가 전달되었고,
  • addNum 함수가 실행될 때 매개변수 두 개의 합계를 터미널에 출력하라고 지시했습니다.
  • 마지막으로 addNum 함수 호출하면서 2, 4라는 값을 인수로 전달했습니다.

참고: 매개변수와 인수는 원하는 만큼 지정할 수 있습니다.

return 키워드 사용하기

Python에서는 return 키워드를 사용해 함수를 종료해 함수 내의 코드 블록에서 나올 수 있습니다. 다시 말해 함수 밖으로 결과값을 반환할 수 있습니다.

return 문에는 함수가 호출되면 실행할 표현식 및 코드를 포함할 수 있습니다.

아래 예시는 Python에서 return 키워드가 어떻게 작동하는지 보여줍니다.

def multiplyNum(num1):
    return num1 * 8
result = multiplyNum(8)
print(result)
# 출력된 결과물: 64

위 예시의 코드는 무엇을 실행하는 것인지 살펴봅시다!

  • 먼저 multiplyNum이라는 함수를 정의하고 num1를 매개변수로 전달했습니다.
  • 함수 안에서 num1에 8을 곱한 값을 지정하기 위해 return 키워드를 사용했습니다.
  • 그런 다음, 함수를 호출하고 num1 매개변수에 8라는 값을 인수로 전달한 후 함수 호출의 결과를 result 변수에 할당했습니다.
  • 원했던 결과 값을 result 변수에 할당했기 때문에 터미널에 출력할 수 있었습니다.

마치며

이 기사에서는 Python에서 함수를 정의하고 호출하는 방법에 대해 배워봤습니다. 또한 함수에 매개변수와 인수를 전달하는 방법과 return 키워드를 사용하는 방법을 배워서 기본 함수를 더 유용하게 사용할 수 있는 방법도 살펴봤습니다.

이 기사가 도움이 됐다면 코딩에 관심 있는 친구 또는 지인에게 공유해주시길 바랍니다!