파이썬을 공부하다 보면 가장 많이 접하게 되는 개념 중 하나가 바로 함수(Function)입니다.
함수는 프로그램을 구조적으로 만들고, 반복되는 코드를 효율적으로 관리할 수 있게 해주는 핵심 문법입니다.
이번 글에서는 파이썬에서 def
키워드를 사용해 함수를 정의하고, 호출하는 방법까지 단계별로 정리해보겠습니다.
1. 함수란 무엇인가?
함수는 특정 작업을 수행하기 위해 코드 블록을 묶어둔 것입니다. 한 번 만들어두면 여러 번 호출해서 재사용할 수 있습니다. 즉, ‘입력(매개변수)’을 받아서 ‘출력(리턴값)’을 돌려주는 코드 덩어리라고 할 수 있습니다.
예를 들어, 어떤 수의 제곱을 구하는 프로그램이 여러 번 필요하다면 매번 같은 코드를 쓰는 대신 함수를 만들어두면 됩니다.
# 제곱을 구하는 함수 정의
def square(number):
return number * number
# 함수 호출
result = square(5)
print(result) # 출력: 25
2. 함수 정의 방법
파이썬에서 함수를 정의할 때는 def
키워드를 사용합니다. 기본 구조는 다음과 같습니다.
def 함수이름(매개변수):
실행할 코드
return 결과값
- def : 함수를 정의할 때 사용하는 키워드
- 함수이름 : 호출할 때 사용할 이름
- 매개변수 : 함수에 전달할 값 (없을 수도 있음)
- return : 함수를 종료하고 값을 반환 (생략 가능)
3. 매개변수와 리턴값
함수는 입력값이 있을 수도, 없을 수도 있습니다. 또한 결과를 반환하지 않고 단순히 출력만 하는 함수도 존재합니다.
# 매개변수와 리턴값이 모두 있는 함수
def add(a, b):
return a + b
# 매개변수는 있지만 리턴값이 없는 함수
def greeting(name):
print("안녕하세요,", name)
# 매개변수도, 리턴값도 없는 함수
def hello():
print("Hello World")
# 호출 예시
print(add(3, 7)) # 10
greeting("김철수") # 안녕하세요, 김철수
hello() # Hello World
4. 함수 호출 방법
함수를 정의한 뒤에는 함수이름(인자) 형태로 호출할 수 있습니다. 만약 함수가 값을 반환하면 변수에 저장하거나 바로 출력할 수 있습니다.
def multiply(a, b):
return a * b
# 함수 호출
result = multiply(4, 6)
print("곱셈 결과:", result)
이처럼 함수를 사용하면 같은 코드를 반복해서 작성하지 않아도 되어, 코드의 가독성과 유지보수성이 좋아집니다.
5. 기본값 매개변수와 키워드 인자
함수를 정의할 때 매개변수에 기본값을 설정해둘 수도 있습니다. 또한 인자를 이름으로 지정해서 전달할 수도 있습니다.
# 기본값이 있는 매개변수
def introduce(name, age=20):
print(f"이름: {name}, 나이: {age}")
introduce("홍길동") # 나이 기본값 20
introduce("이순신", 45) # 전달한 값으로 대체
# 키워드 인자 사용
introduce(age=30, name="유관순")
6. 함수의 반환값(return)의 중요성
return
문은 함수의 실행 결과를 돌려주는 역할을 합니다.
return
이 실행되면 함수는 즉시 종료되고 지정된 값을 반환합니다.
def divide(a, b):
if b == 0:
return "0으로 나눌 수 없습니다."
return a / b
print(divide(10, 2)) # 5.0
print(divide(5, 0)) # 0으로 나눌 수 없습니다.
7. 결론
파이썬의 def 함수는 코드의 재사용성과 효율성을 높여주는 필수 개념입니다. 프로젝트가 커질수록 함수의 역할은 더욱 중요해집니다. 함수를 잘 활용하면 복잡한 프로그램도 구조적으로 깔끔하게 관리할 수 있습니다. 오늘 배운 내용을 기반으로 직접 여러 함수를 만들어보면서 익혀보세요!
💡Tip: 함수는 프로그램을 작게 나누는 기본 단위입니다. 작고 명확한 함수일수록 유지보수가 쉽고, 코드 품질이 좋아집니다.
댓글 쓰기