Python/입문/Lesson 06
함수 (Function)
1시간·theory
이 챕터
5/7
Python
3.
5. 여러 인자 (
함수 (Function)
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ args · *kwargs + 기본값 함정 (mutable default)
- ▸✅ type hint + docstring 작성
- ▸✅ first-class function + 클로저
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
함수 8가지 패턴 — 코드 + 실행 결과
함수 = 이름 붙은 코드 블록. 같은 일을 여러 번 쓸 때 재사용 가능.
1. 가장 단순한 함수
def (define) → 함수 이름 → ( ) → : → 들여쓰기 블록.
2. 매개변수 받기
이름 = 매개변수 (받을 자리). "홍길동" = 인자 (실제 값).
3. return — 결과 돌려주기
print vs return:
- ▸
print= 화면에 보여만 줌. 변수에 못 담음 - ▸
return= 호출한 곳으로 값을 보냄. 변수에 담거나 다른 함수에 넘김
4. 기본값 (default)
기본값은 항상 뒤. def f(a=1, b) ❌ → SyntaxError.
5. 여러 인자 (*args)
6. 여러 값 반환
7. 문서화 (docstring)
8. 지역 변수 vs 전역 변수
함수 안 변수는 그 함수에서만 살아있고 끝나면 사라짐.
한 줄 요약
💡 핵심 포인트
1. 기본값 매개변수는 뒤쪽에 배치
2. *args: 가변 위치 인자 (튜플)
3. **kwargs: 가변 키워드 인자 (딕셔너리)
Python 파일 I/O는 open() 함수로 파일을 엽니다. with open(path, mode) as f: 패턴으로 자동 닫기를 보장합니다. 모드: r(읽기), w(쓰기), a(추가), b(바이너리). json.load/dump로 JSON, csv.reader/writer로 CSV를 처리합니다. pathlib.Path는 파일 경로를 객체지향적으로 다룹니다.
🐍 실행해보기 — 함수 (Function)
위 개념을 실제로 코드로 실행해보세요. 값을 바꿔가며 어떻게 동작하는지 직접 확인하는 게 가장 빠른 학습.
✏️ Python 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
🐍 Pyodide로 실제 Python 실행 — 첫 실행 시 로딩 3~5초 소요
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 함수에 타입 힌트 + docstring 추가해줘"
- ▸"이 함수의 부수효과 (전역 변수 변경) 제거해서 순수 함수로 바꿔줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: 제어 흐름 — if · for · while · 컴프리헨션 기초
다음 추천: dict — Key-Value 저장의 표준