오늘 끝나면
함수, 반복을 묶다
- ✓함수, 반복을 묶다의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 함수,이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
같은 일 또 하기 싫으면 이름 붙여 함수로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · 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이름, 인자, 반환. 셋의 구조가 똑같다. 엑셀은 미리 준 함수이고, 코딩은 내가 만든 함수다.