이 레슨과 관련된 학습 키워드
컴퓨터 과학 & 프로그래밍 — 문제 해결의 도구 → Python 프로그래밍 — 첫 코드에서 실전까지 → Python 프로그래밍 — 첫 코드에서 실전까지 → 기초
1total = 0💡2# 세금 계산 구간3total = price * 0.1💡4# ... 100줄 뒤 ...💡5# 장바구니 합계 구간💡6total = sum(cart)오늘은 함수가 왜 필요한지 알아볼게요.
코드를 짜다 보면 같은 로직이 반복됩니다.
그림 왼쪽을 보세요.
빨간 박스가 복사·붙여넣기 문제를 나타냅니다.
파일 A부터 D까지 똑같은 줄이 반복돼요.
세금 계산 로직이 네 곳에 중복됐죠.
반복하지 말라는 DRY 원칙을 위반한 겁니다.
왼쪽 아래 시나리오 박스를 보세요.
세율이 10%에서 12%로 바뀐다고 해봐요.
복사된 곳 열 군데를 모두 수정해야 합니다.
한 곳이라도 놓치면 바로 버그가 됩니다.
이게 함수 없는 코드의 핵심 문제입니다.
그림 오른쪽을 보시면 초록 박스가 보여요.
함수 하나에 세금 로직을 깔끔하게 모았습니다.
세율이 바뀌면 함수 안 한 줄만 수정하면 돼요.
수정 비용이 열 배 이상 줄어드는 겁니다.
함수는 로직에 이름을 붙이는 행위예요.
스코프는 변수 이름 충돌을 막아줍니다.
두 함수에 같은 이름 변수가 있어도 괜찮아요.
각 함수는 자신만의 이름 공간을 가집니다.
이 두 개념이 깔끔한 코드의 기초입니다.
지금부터 함수와 스코프를 하나씩 살펴볼게요.