스킬캠퍼스

오늘 끝나면

함수, 반복을 묶다

  • 함수, 반복을 묶다의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 함수,이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

같은 일 또 하기 싫으면 이름 붙여 함수로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

개발 · Day 4

함수,
반복을 묶다

같은 코드를 또 쓰기는 싫다. 한 번 묶어서 이름을 붙이면 끝이다. 그게 함수다.

P.01개발 · Day 4

복붙은 곧 지옥이 된다

같은 계산을 할 때마다 같은 코드를 복붙한다.

문제는 고칠 때 터진다. 규칙이 바뀌면 복붙한 데를 전부 찾아 고쳐야 한다. 하나라도 빠뜨리면 거기만 틀린 값이 나온다.

그래서 묶는다. 한 군데만 두고 이름으로 불러 쓴다.

같은 일, 세 번 반복
복붙된 같은 줄 × 3
계산1가격 * 1.1
계산2가격 * 1.1
계산3가격 * 1.1

규칙이 × 1.1 에서 × 1.2 로 바뀌면? 세 줄을 전부 손으로 고쳐야 한다. 하나 빠뜨리면 거기만 틀린다.

P.02개발 · Day 4

묶어서 이름 붙인 게 함수

함수는 코드 한 덩이를 묶고 이름을 붙인 것이다.

상자에 입력을 넣으면 규칙대로 계산해서 출력을 돌려준다. 상자는 그대로 두고 넣는 값만 바꾼다.

안이 어떻게 도는지는 몰라도 된다. 이름만 알면 그냥 부른다.

함수 상자 · 입력을 넣으면 출력이 나온다
함수 상자 · 함수를 고르고 입력을 움직여 본다
입력 · 가격
15,000
함수
부가세포함( )
결과 = 가격 × 1.1
출력 · 반환
16,500원
0100,000
지금 한 일 = 한 줄
부가세포함(15,000) 16,500원

가격에 10퍼센트 세금을 더해 돌려준다. 입력이 같으면 출력도 같다. 이름 한 번 붙여두면 100번이고 다시 부른다.

P.03개발 · Day 4

인자로 받고, 반환으로 준다

함수로 넣는 값이 인자, 나오는 값이 반환값이다.

인자가 다르면 반환값도 다르다. 두배로(3)6, 두배로(10)20이다.

입력이 같으면 출력도 같다. 그래서 믿고 갖다 쓴다.

함수의 두 구멍, 입구와 출구
인자3입구두배로수 × 2출구반환6두배로(10) → 20두배로(50) → 100
P.04개발 · Day 4

한 번 만들면, 백 번 부른다

함수의 진짜 값어치는 재사용가독성이다.

재사용: 한 번 만들면 어디서든 이름만 불러 쓴다. 고칠 때는 함수 한 군데만 고치면 부른 데가 다 바뀐다.

가독성: 긴 계산 덩어리 대신 부가세포함(가격) 한 줄이면 된다. 코드가 짧아지고 뜻이 드러난다.

좋은 코드는 작은 함수의 모임이다.

복붙 30줄 vs 함수 1줄
복붙 방식
…줄만 늘어난다
함수 방식
정의 1번
부가세포함(a)
부가세포함(b)
부가세포함(c)
…불러만 쓴다
P.05개발 · Day 4

엑셀 함수, 사실 똑같다

엑셀 =SUM(A1:A10)을 써봤으면 이미 함수를 쓴 것이다.

SUM은 이름, 괄호 안 A1:A10은 인자, 셀에 뜬 합계가 반환값이다.

코딩은 한 걸음 더 간다. 엑셀에 없는 내 함수를 직접 만든다. 이름 정하고, 인자 받고, 반환만 적으면 끝이다.

코드 보기
# 함수 만들기: 이름, 인자, 반환
def 부가세포함(가격):
    결과 = 가격 * 1.1
    return 결과        # 반환값을 돌려줌

# 부르기, 몇 번이든 재사용
부가세포함(10000)   # 11000.0
부가세포함(25000)   # 27500.0
SUM과 내 함수는 한 형제
같은 뼈대 · 이름( 인자 ) → 반환값
엑셀이 만든 함수
SUM(A1:A10)합계
내가 만든 함수
부가세포함(10000)11000

이름, 인자, 반환. 셋의 구조가 똑같다. 엑셀은 미리 준 함수이고, 코딩은 내가 만든 함수다.

3줄 요약

  1. 1같은 일 또 하기 싫으면 이름 붙여 함수로
  2. 2함수, 반복을 묶다은 코딩 기본 → 인터넷과 웹 → 프론트/백엔드 → 데이터 → 배포 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

함수,

같은 일 또 하기 싫으면 이름 붙여 함수로

입력

프로그램이 받아들이는 값이나 사용자 행동

규칙

입력을 처리하는 코드의 절차