
하루 1시간씩 꾸준히 진행하는 파이썬 공부 여섯 번째 기록이다. 이번 단계에서는 프로그래밍에서 가장 중요한 개념 중 하나인 함수를 다루게 된다. 함수는 단순히 코드를 깔끔하게 만드는 도구가 아니라, 반복되는 작업을 줄여 효율을 극대화하고, 유지보수성을 비약적으로 향상시키는 구조적 도구다. 직장 업무에도 자연스럽게 연결되는 만큼 실무 감각으로 접근해 보았다.
1. 함수가 필요한 이유
코드를 배우다 보면 반복되는 작업이 자주 등장한다. 같은 계산을 여러 번 해야 하거나, 비슷한 처리 과정을 여러 데이터에 적용해야 할 때가 생긴다. 이 작업을 매번 다시 작성하면 코드 양이 늘어나고, 수정이 필요할 때 모든 부분을 찾아 업데이트해야 한다. 이런 상황을 해결하기 위해 함수는 필수적이다.
함수는 입력을 받아 특정 작업을 수행한 뒤 결과를 반환하는 독립적인 구조다. 특정 역할을 담당하는 기능을 하나씩 묶어두는 방식으로 코드를 구성하면 복잡한 프로그램도 깔끔하게 정리된다. 여러 사람이 함께 작업하는 환경에서도 혼란을 줄일 수 있어 활용도가 매우 높다.
2. 함수 정의 기본 형태
파이썬 함수는 다음 형태로 정의한다.
def 함수이름(매개변수):
수행할 코드
return 결과값
매개변수는 입력값을 의미하고, return은 출력값을 돌려주는 구조다. return이 없을 경우 함수는 값을 돌려주지 않고 단순히 내부 실행만 수행한다.
3. 직장인의 실제 활용 시나리오
예를 들어 엑셀 데이터를 분석하거나 반복적으로 정리해야 하는 업무가 있다면, 동일한 양식의 텍스트를 가공하거나 특정 숫자를 변환하는 과정이 늘 등장한다. 이때 함수 하나를 만들면 반복 작업을 단 몇 줄로 해결할 수 있다.
아래 예시는 특정 부서 이름을 규칙에 맞게 변환하는 함수다.
def convert_department(name):
result = f"[업무부서] {name} 팀"
return result
print(convert_department("총무"))
print(convert_department("재무"))
이런 단순한 변환도 사람이 직접 반복하면 시간이 적지 않게 든다. 하지만 함수를 만들어 두면 여러 데이터에 자동 적용할 수 있어 시간을 절약할 수 있다.
4. 매개변수와 반환값의 활용
함수의 핵심은 입력과 출력이다. 예를 들어 숫자 두 개를 더하는 작업은 간단하지만, 방식만 익히면 복잡한 연산도 쉽게 처리할 수 있다.
def add(a, b):
return a + b
result = add(5, 8)
print(result)
이 구조는 데이터 종류가 달라도 동일하게 적용된다. 문자열 처리, 리스트 변환, 파일 분석 등 다양한 영역에서 입력값만 바뀌면 동일 함수로 여러 기능을 수행할 수 있다.
5. 기본값 매개변수로 유연성 높이기
함수 매개변수에 기본값을 설정하면 특정 인자를 생략해도 문제없이 작동한다. 이는 실제 업무에서 매우 편리하게 활용된다.
def greeting(name, message="안녕하세요"):
return f"{message}, {name}님"
print(greeting("라라"))
print(greeting("라라", "좋은 하루 되세요"))
이런 기본값 기능은 선택 옵션이 많은 실무 자동화 작업에서 특히 유용하다.
6. 함수와 코드 재사용성
프로그램을 여러 파일로 나누어 작성할 때 함수는 중심 역할을 한다. 필요한 작업을 함수로 만들고 모듈 형태로 정리하면 다양한 프로젝트에서 재사용할 수 있다. 이는 규모가 커질수록 큰 힘을 발휘한다.
또한 함수에 이름을 붙이면 불필요한 주석 없이도 코드 읽는 사람이 기능을 쉽게 파악할 수 있다. 가독성이 좋아지면 협업에서도 유리하다.
7. 이번 학습에서 얻은 정리
하루 1시간씩 차근차근 익혀온 파이썬 학습 과정에서 함수는 새로운 전환점이 되었다. 단순 동작을 넘어 구조적인 사고를 요구하기 때문이다. 함수를 중심으로 코드를 설계하는 습관이 생기면 어떤 문제를 만나도 작은 기능 단위로 분해해 해결하는 능력이 자연스럽게 기른다.
앞으로는 여러 함수를 조합하는 방식이나 모듈을 활용하는 단계로 발전해 나갈 예정이다. 오늘 배운 개념은 이후 자동화 작업이나 간단한 프로그램 설계에도 핵심적으로 쓰일 것이다.
8. 마무리
함수는 효율성과 확장성을 동시에 확보할 수 있는 강력한 도구다. 반복 업무를 줄이고 코드의 일관성을 유지하는 데 필수적이며, 앞으로 진행될 학습에서도 지속적으로 사용될 개념이다. 하루 1시간 학습이지만 함수에 대한 이해는 향후 파이썬 실력을 크게 끌어올릴 기반이 될 것이다.