
함수(Function)는 특정 작업을 수행하는 코드 블록으로, 코드의 재사용성을 높이고, 유지보수를 용이하게 하며, 프로그램을 모듈화하는 데 중요한 역할을 합니다. Python에서는 def 키워드를 사용하여 함수를 정의할 수 있습니다.
이 장에서는 함수의 개념, 정의 방법, 호출 방식, 매개변수 전달, 반환값 처리, 그리고 함수의 장점까지 자세히 살펴봅니다.
1. 함수란 무엇인가?
㉮ 함수의 개념
함수(Function)는 특정 입력을 받아 처리를 수행한 후 결과값을 반환하거나 특정 작업을 실행하는 코드 블록입니다.
함수를 사용하면 반복되는 코드를 줄이고, 가독성을 향상시키며, 유지보수성을 높일 수 있습니다.
㉯ 함수의 기본 구조
def 함수이름(매개변수):
실행할 코드
return 반환값
• def: 함수를 정의하는 키워드
• 함수이름: 함수의 고유한 이름 (소문자와 _ 사용 권장)
• 매개변수(Parameter): 함수에 전달되는 입력값 (선택 사항)
• 실행할 코드: 함수가 수행할 작업
• return: 함수 실행 결과를 반환하는 키워드 (필수 아님)
2. Python에서 함수 정의 (def 키워드 사용)
㉮ 기본적인 함수 정의와 호출
함수를 정의할 때는 def 키워드를 사용하며, 호출(Call)할 때는 함수 이름을 사용합니다.
(1) 함수 정의
def greet():
print("안녕하세요! Python을 배우고 있습니다.")
(2) 함수 호출
greet()
출력결과
안녕하세요! Python을 배우고 있습니다.
• 함수는 정의만 해서는 실행되지 않으며, 반드시 호출해야 실행됨.
㉯ 매개변수가 있는 함수
함수는 매개변수(Parameter)를 사용하여 외부에서 값을 받아 처리할 수 있습니다.
(1) 매개변수를 사용하는 함수 정의
def greet(name):
print(f"안녕하세요, {name}님!")
(2) 함수 호출 (매개변수 전달)
greet("철수")
greet("영희")
출력결과
안녕하세요, 철수님!
안녕하세요, 영희님!
• name 매개변수를 사용하여 동적인 출력이 가능.
• 같은 코드 구조를 유지하면서 다양한 값을 입력하여 실행 가능.
㉰ 여러 개의 매개변수를 가진 함수
함수는 여러 개의 매개변수를 가질 수도 있습니다.
def add(a, b):
return a + b
result = add(3, 5)
print(f"두 수의 합: {result}")
출력결과
두 수의 합: 8
• a와 b를 받아 두 수를 더한 결과를 반환.
• return을 사용하면 함수 결과를 변수에 저장하거나, 다른 연산에 사용할 수 있음.
3. 함수의 반환값 (return 키워드)
return 키워드는 함수의 실행 결과를 호출한 곳으로 반환(return)하는 역할을 합니다.
㉮ 반환값이 있는 함수
def square(n):
return n * n # n의 제곱을 반환
result = square(4)
print(result) # 16 출력
• return을 사용하면 함수 결과를 변수에 저장하거나 다른 연산에 활용 가능.
㉯ 반환값이 없는 함수
def say_hello():
print("Hello, World!")
result = say_hello()
print(result) # None 출력
출력결과
Hello, World!
None
• return을 사용하지 않으면 함수는 None을 반환.
㉰ 다중 반환값 (여러 개의 값 반환)
Python에서는 튜플(Tuple)을 이용하여 여러 개의 값을 반환할 수 있습니다.
def calculate(a, b):
sum_result = a + b
diff_result = a - b
return sum_result, diff_result # 두 개의 값 반환
sum_value, diff_value = calculate(10, 5)
print(f"합: {sum_value}, 차: {diff_value}")
출력결과
합: 15, 차: 5
• return을 이용해 두 개 이상의 값을 동시에 반환 가능.
• 튜플 형식으로 반환되며, 여러 개의 변수로 받을 수도 있음.
4. 함수 호출 방식
㉮ 직접 호출
def greet():
print("안녕하세요!")
greet()
㉯ 다른 함수에서 호출
함수는 다른 함수 내부에서도 호출할 수 있습니다.
def square(n):
return n * n
def print_square(x):
result = square(x)
print(f"{x}의 제곱: {result}")
print_square(5)
출력결과
5의 제곱: 25
• print_square(5)에서 square(5)를 호출하여 제곱값을 계산.
5. 함수의 장점
㉮ 코드 재사용성 (Reusability)
• 같은 기능을 여러 번 구현할 필요 없이, 함수 호출로 쉽게 재사용 가능.
㉯ 코드 가독성 (Readability)
• 복잡한 프로그램을 작은 블록(함수)으로 나누어 가독성을 향상.
㉰ 유지 보수성 (Maintainability)
• 특정 기능의 코드만 수정하면 되므로, 유지보수가 쉬워짐.
6. 요약
• 함수는 def 키워드를 사용하여 정의하며, 특정 작업을 수행하는 코드 블록.
• 매개변수를 사용하면 외부에서 값을 전달받아 동적 실행이 가능.
• return을 사용하여 함수 결과를 반환할 수 있으며, 여러 개의 값도 반환 가능.
• 함수는 코드 재사용성을 높이고 유지보수를 용이하게 하는 중요한 도구.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 4. 함수 (기본 매개변수와 키워드 매개변수) (0) | 2025.03.19 |
---|---|
2단계 : 4. 함수 (매개변수와 반환값의 사용법) (0) | 2025.03.18 |
2단계 : 3. 반복문 (골든크로스 및 데드크로스를 활용한 주식 백테스팅 전략) (0) | 2025.03.16 |
2단계 : 3. 반복문 (무한 루프와 그 활용 사례) (0) | 2025.03.08 |
2단계 : 3. 반복문 (break 와 continue의 사용 방법과 차이) (0) | 2025.03.07 |