제8장: 함수와 코드 재사용
파이썬의 함수: 코드 재사용의 첫걸음
프로그래밍을 하다 보면 비슷한 기능을 여러 번 사용해야 하는 일이 많습니다. 이럴 땐 똑같은 코드를 복사하는 대신, 함수를 이용해 한 번만 정의해 두고 필요할 때마다 호출하는 것이 좋습니다. 함수는 특정 동작을 모아둔 코드의 작은 단위입니다. 마치 요리 레시피처럼 재료(입력값)를 받고, 정해진 절차(코드)를 따라 완성된 결과(반환값)를 돌려줍니다.
함수 정의와 호출
파이썬에서 함수를 만들려면 def
키워드를 사용합니다. 아래는 가장 단순한 함수입니다.
def say_hello():
print("안녕하세요!")
함수는 이렇게 정의만 해두고, 실제로 사용하고 싶을 때 함수 이름 뒤에 괄호 ()
를 붙여 호출하면 됩니다.
say_hello() # 출력: 안녕하세요!
매개변수와 반환값
함수는 입력값(매개변수)을 받아 그에 따라 결과를 다르게 처리할 수 있습니다.
def add(a, b):
result = a + b
return result
return
은 함수 작업의 결과를 반환해주는 역할을 합니다. 호출한 곳에 그 결과가 전달됩니다.
sum_value = add(3, 5)
print(sum_value) # 출력: 8
코드 중복 제거와 유지보수의 효율성
함수를 잘 활용하면, 똑같은 코드를 여러 번 작성할 필요가 없어집니다. 변화가 생겨도 함수 내부만 고치면 전체 동작을 쉽게 수정할 수 있죠. 예를 들어, 10명의 점수를 평균내는 코드가 필요하다면, 평균 계산을 함수로 만들어두고 점수 데이터만 바꿔가며 간편하게 쓸 수 있습니다.
좋은 함수란 무엇인가?
함수 이름은 그 동작을 명확히 드러내는 단어로 짓는 것이 바람직합니다. 예를 들어, 합을 구하는 함수는 calculate_sum
, 메시지를 출력하는 함수는 print_message
처럼 짓는 습관이 중요합니다. 한 가지 작업만 수행하게 만들고, 함수가 너무 길어지지 않도록 주의하세요.
함수의 재사용성과 모듈화
파이썬의 함수는 한 파일에서만 사용하는 데 그치지 않습니다. 여러 함수를 모아 별도의 파일(모듈)로 만들어 두면, 전혀 다른 프로그램에서도 불러와 쓸 수 있습니다. 이를 통해 코드 재사용성이 크게 높아집니다.
# util.py 파일
def say_hi(name):
print(f"안녕하세요, {name}님!")
# main.py 파일에서 util 모듈을 불러오기
import util
util.say_hi("지현") # 출력: 안녕하세요, 지현님!
이처럼 함수와 모듈을 조합하면, 복잡한 프로그램도 깔끔하게 다루고 원하는 기능을 쉽게 확장할 수 있습니다.
정리
함수는 프로그래밍에서 필수적인 문법입니다. 중복을 줄이고, 읽기 쉬운 코드를 만드는 시작점이기도 하죠. 다양한 상황에서 함수를 활용해 보고, 본인만의 작은 유틸리티를 만들어보면서 파이썬의 진정한 힘을 느껴보세요.


