오늘 끝나면
함수, 반복을 묶다
- ✓함수, 반복을 묶다의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 함수,이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
같은 일 또 하기 싫으면 이름 붙여 함수로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 4
함수,
반복을 묶다
같은 코드 또 쓰기 싫음. 한 번 묶어 이름 붙이면 끝. 그게 함수임.
복붙은 곧 지옥이 됨
같은 계산을 또 함. 또 함.
그때마다 같은 코드를 복붙함. 줄 수만 늘어남.
문제는 고칠 때 터짐. 규칙이 바뀌면 복붙한 데를 전부 찾아 고쳐야 함. 하나라도 빠뜨리면 거기만 틀린 값이 나옴.
그래서 묶음. 한 군데만 두고 이름으로 불러 씀.
규칙이 × 1.1 에서 × 1.2 로 바뀌면? 세 줄을 전부 손으로 고쳐야 함. 하나 빠뜨리면 거기만 틀림.
묶어서 이름 붙인 게 함수
함수 = 코드 한 덩이를 묶고 이름을 붙인 것.
오른쪽 상자가 함수임.입력을 넣으면 규칙대로 계산해 출력을 돌려줌.
안이 어떻게 도는지 몰라도 됨. 이름만 알면 그냥 부름. 전자레인지 버튼 누르듯이.
입력을 움직이면 출력이 따라 바뀜. 상자는 그대로, 넣는 값만 다름.
가격에 10퍼센트 세금을 더해 돌려줌. 입력이 같으면 출력도 같음. 이름 한 번 붙여두면 100번이고 다시 부름.
인자로 받고, 반환으로 준다
함수에는 구멍이 둘임. 들어가는 입구, 나오는 출구.
입구로 넣는 값이 인자. 출구로 나오는 값이 반환값.
인자가 다르면 반환값도 다름. 두배로(3)은 6, 두배로(10)은 20.
핵심은 이거임. 입력이 같으면 출력도 같음. 그래서 믿고 갖다 씀.
한 번 만들면, 백 번 부른다
함수의 진짜 값어치는 둘임. 재사용과 가독성.
재사용 — 한 번 만들면 어디서든 이름만 불러 씀. 고칠 땐 함수 한 군데만 고치면 부른 데가 다 바뀜.
가독성 — 코드가 짧아지고 뜻이 드러남. 긴 계산 덩어리 대신 부가세포함(가격) 한 줄. 남이 봐도, 내일의 내가 봐도 한눈에 읽힘.
그래서 좋은 코드는 작은 함수의 모임임.
엑셀 함수, 사실 똑같다
엑셀 =SUM(A1:A10) 써봤으면 이미 함수를 씀.
SUM은 이름. 괄호 안 A1:A10은 인자. 셀에 뜬 합계가 반환값. 엑셀이 미리 만든 함수를 부른 것뿐임.
코딩은 한 걸음 더 감. 엑셀에 없는 내 함수를 직접 만듦. 이름 정하고, 인자 받고, 반환만 적으면 끝.
아래는 부가세 함수를 직접 만들어 부르는 모습임. 만드는 건 한 번, 부르는 건 몇 번이든.
코드 보기
# 함수 만들기: 이름, 인자, 반환
def 부가세포함(가격):
결과 = 가격 * 1.1
return 결과 # 반환값을 돌려줌
# 부르기 — 몇 번이든 재사용
부가세포함(10000) # 11000.0
부가세포함(25000) # 27500.0이름·인자·반환. 셋의 구조가 똑같음. 엑셀은 미리 준 함수, 코딩은 내가 만든 함수.