🔥 함수 정의와 호출

453자
6분

함수는 파이썬 프로그래밍에서 중요한 개념 중 하나로, 코드의 재사용성과 구조화에 큰 도움을 줍니다. 이번 장에서는 함수를 정의하고 호출하는 방법에 대해 자세히 살펴보겠습니다. 각 섹션에서는 예제를 통해 개념을 설명하고, 파이썬 코드로 실제 구현 방법을 배울 것입니다.

함수의 개념과 중요성

함수는 프로그램에서 실행할 코드 블록을 정의하고 이름을 붙이는 방법입니다. 이렇게 정의된 함수는 필요할 때 여러 번 호출할 수 있으며, 코드의 재사용성을 높이고 가독성을 향상시킵니다. 함수는 파이썬 프로그래밍의 핵심 요소 중 하나로, 모듈화와 유지 보수를 쉽게 만들어줍니다.

def greet(name):
    """인사말을 출력하는 함수"""
    print(f"안녕하세요, {name}님!")
 
# 함수 호출
greet("Alice")
greet("Bob")
 
python

함수 정의 및 구조

함수는 def 키워드를 사용하여 정의하며, 함수 이름과 매개변수를 지정합니다. 함수 내부의 코드 블록은 들여쓰기로 구분하며, 함수를 호출할 때 이 코드 블록이 실행됩니다. 함수 정의 구조를 자세히 살펴보겠습니다.

def 함수이름(매개변수):
    """함수의 도큐먼트 스트링"""
    # 함수의 동작을 구현하는 코드
    return 결과값
 
python

매개변수와 인수

함수는 매개변수(parameter)를 통해 외부에서 값을 받아올 수 있습니다. 이러한 값을 인수(argument)라고 합니다. 함수를 호출할 때 인수를 전달하여 함수의 동작을 제어할 수 있습니다.

def add(a, b):
    """두 수를 더하는 함수"""
    result = a + b
    return result
 
# 함수 호출
sum_result = add(3, 5)
print(sum_result)  # 출력: 8
 
python

기본 매개변수와 키워드 인수

파이썬에서는 함수의 매개변수에 기본 값을 지정할 수 있습니다. 이렇게 하면 함수를 호출할 때 인수를 생략할 수 있으며, 필요한 경우 키워드 인수를 사용하여 값을 전달할 수 있습니다.

기본 매개변수와 키워드 인수

def greet(name, greeting="안녕하세요"):
    """인사말을 출력하는 함수"""
    print(f"{greeting}, {name}님!")
 
# 함수 호출
greet("Alice")               # 출력: "안녕하세요, Alice님!"
greet("Bob", greeting="Hi")  # 출력: "Hi, Bob님!"
 
python

가변 인수

가변 인수를 사용하면 함수를 호출할 때 임의의 개수의 인수를 전달할 수 있습니다. 이를 통해 다양한 상황에 대처할 수 있는 유연한 함수를 작성할 수 있습니다.

def average(*numbers):
    """여러 수의 평균을 계산하는 함수"""
    total = sum(numbers)
    avg = total / len(numbers)
    return avg
 
# 함수 호출
result = average(2, 4, 6, 8, 10)
print(result)  # 출력: 6.0
 
python

반환 값

함수는 값을 반환할 수 있으며, return 키워드를 사용하여 반환 값을 지정합니다. 반환 값은 함수가 실행한 결과를 외부로 전달하는데 사용됩니다.

def square(x):
    """숫자의 제곱을 반환하는 함수"""
    return x ** 2
 
# 함수 호출
result = square(5)
print(result)  # 출력: 25
 
python

함수의 범위와 전역 변수

파이썬에서 함수 내부에서 정의된 변수는 해당 함수 내부에서만 유효합니다. 함수 외부에서 정의된 변수는 전역 변수(global variable)로 취급되며, 함수 내부에서 접근할 수 있습니다.

global_var = 10
 
def my_function():
    local_var = 5
    print(global_var)  # 함수 내부에서 전역 변수 접근 가능
    print(local_var)
 
# 함수 호출
my_function()
print(global_var)  # 함수 외부에서도 전역 변수 접근 가능
 
python

연습문제

  1. 두 수를 더하는 함수를 작성하고 호출해보세요.
  2. 인사말을 출력하는 함수를 작성하고 기본 매개변수를 설정해보세요.
  3. 임의의 개수의 숫자를 받아 평균을 계산하는 함수를 작성해보세요.
  4. 주어진 숫자를 제곱하는 함수를 작성해보세요.
  5. 함수 내부에서 전역 변수와 지역 변수를 선언하고 각각 출력해보세요.