🔥 함수 정의와 호출
함수는 파이썬 프로그래밍에서 중요한 개념 중 하나로, 코드의 재사용성과 구조화에 큰 도움을 줍니다. 이번 장에서는 함수를 정의하고 호출하는 방법에 대해 자세히 살펴보겠습니다. 각 섹션에서는 예제를 통해 개념을 설명하고, 파이썬 코드로 실제 구현 방법을 배울 것입니다.
함수의 개념과 중요성
함수는 프로그램에서 실행할 코드 블록을 정의하고 이름을 붙이는 방법입니다. 이렇게 정의된 함수는 필요할 때 여러 번 호출할 수 있으며, 코드의 재사용성을 높이고 가독성을 향상시킵니다. 함수는 파이썬 프로그래밍의 핵심 요소 중 하나로, 모듈화와 유지 보수를 쉽게 만들어줍니다.
def greet(name):
"""인사말을 출력하는 함수"""
print(f"안녕하세요, {name}님!")
# 함수 호출
greet("Alice")
greet("Bob")
def greet(name):
"""인사말을 출력하는 함수"""
print(f"안녕하세요, {name}님!")
# 함수 호출
greet("Alice")
greet("Bob")
함수 정의 및 구조
함수는 def 키워드를 사용하여 정의하며, 함수 이름과 매개변수를 지정합니다. 함수 내부의 코드 블록은 들여쓰기로 구분하며, 함수를 호출할 때 이 코드 블록이 실행됩니다. 함수 정의 구조를 자세히 살펴보겠습니다.
def 함수이름(매개변수):
"""함수의 도큐먼트 스트링"""
# 함수의 동작을 구현하는 코드
return 결과값
def 함수이름(매개변수):
"""함수의 도큐먼트 스트링"""
# 함수의 동작을 구현하는 코드
return 결과값
매개변수와 인수
함수는 매개변수(parameter)를 통해 외부에서 값을 받아올 수 있습니다. 이러한 값을 인수(argument)라고 합니다. 함수를 호출할 때 인수를 전달하여 함수의 동작을 제어할 수 있습니다.
def add(a, b):
"""두 수를 더하는 함수"""
result = a + b
return result
# 함수 호출
sum_result = add(3, 5)
print(sum_result) # 출력: 8
def add(a, b):
"""두 수를 더하는 함수"""
result = a + b
return result
# 함수 호출
sum_result = add(3, 5)
print(sum_result) # 출력: 8
기본 매개변수와 키워드 인수
파이썬에서는 함수의 매개변수에 기본 값을 지정할 수 있습니다. 이렇게 하면 함수를 호출할 때 인수를 생략할 수 있으며, 필요한 경우 키워드 인수를 사용하여 값을 전달할 수 있습니다.
기본 매개변수와 키워드 인수
def greet(name, greeting="안녕하세요"):
"""인사말을 출력하는 함수"""
print(f"{greeting}, {name}님!")
# 함수 호출
greet("Alice") # 출력: "안녕하세요, Alice님!"
greet("Bob", greeting="Hi") # 출력: "Hi, Bob님!"
def greet(name, greeting="안녕하세요"):
"""인사말을 출력하는 함수"""
print(f"{greeting}, {name}님!")
# 함수 호출
greet("Alice") # 출력: "안녕하세요, Alice님!"
greet("Bob", greeting="Hi") # 출력: "Hi, Bob님!"
가변 인수
가변 인수를 사용하면 함수를 호출할 때 임의의 개수의 인수를 전달할 수 있습니다. 이를 통해 다양한 상황에 대처할 수 있는 유연한 함수를 작성할 수 있습니다.
def average(*numbers):
"""여러 수의 평균을 계산하는 함수"""
total = sum(numbers)
avg = total / len(numbers)
return avg
# 함수 호출
result = average(2, 4, 6, 8, 10)
print(result) # 출력: 6.0
def average(*numbers):
"""여러 수의 평균을 계산하는 함수"""
total = sum(numbers)
avg = total / len(numbers)
return avg
# 함수 호출
result = average(2, 4, 6, 8, 10)
print(result) # 출력: 6.0
반환 값
함수는 값을 반환할 수 있으며, return 키워드를 사용하여 반환 값을 지정합니다. 반환 값은 함수가 실행한 결과를 외부로 전달하는데 사용됩니다.
def square(x):
"""숫자의 제곱을 반환하는 함수"""
return x ** 2
# 함수 호출
result = square(5)
print(result) # 출력: 25
def square(x):
"""숫자의 제곱을 반환하는 함수"""
return x ** 2
# 함수 호출
result = square(5)
print(result) # 출력: 25
함수의 범위와 전역 변수
파이썬에서 함수 내부에서 정의된 변수는 해당 함수 내부에서만 유효합니다. 함수 외부에서 정의된 변수는 전역 변수(global variable)로 취급되며, 함수 내부에서 접근할 수 있습니다.
global_var = 10
def my_function():
local_var = 5
print(global_var) # 함수 내부에서 전역 변수 접근 가능
print(local_var)
# 함수 호출
my_function()
print(global_var) # 함수 외부에서도 전역 변수 접근 가능
global_var = 10
def my_function():
local_var = 5
print(global_var) # 함수 내부에서 전역 변수 접근 가능
print(local_var)
# 함수 호출
my_function()
print(global_var) # 함수 외부에서도 전역 변수 접근 가능
연습문제
- 두 수를 더하는 함수를 작성하고 호출해보세요.
- 인사말을 출력하는 함수를 작성하고 기본 매개변수를 설정해보세요.
- 임의의 개수의 숫자를 받아 평균을 계산하는 함수를 작성해보세요.
- 주어진 숫자를 제곱하는 함수를 작성해보세요.
- 함수 내부에서 전역 변수와 지역 변수를 선언하고 각각 출력해보세요.










