반응형
📘 Day 14. 함수(Function)의 정의, 구조, 그리고 호출 방식
1. 함수란?
- 단위 기능을 수행하는 코드 블럭
- 복잡한 문제를 기능 단위로 분해하여 작성
- 중복 코드를 줄이고, 재사용성과 유지보수성을 높여줌
2. 함수 사용의 목적
목적 설명
중복 제거 | 동일한 기능 반복 구현 방지 |
유지 보수 | 코드 이해도와 수정 용이성 향상 |
논리 분할 | 복잡한 프로그램을 기능별로 나눔 |
재사용성 | 외부 모듈/라이브러리로도 활용 가능 |
3. 함수의 종류
분류 설명
내장 함수 | 파이썬에 기본 포함된 함수 (print(), len() 등) |
3rd party 함수 | 외부 패키지 설치 후 사용 (예: numpy.mean()) |
사용자 정의 함수 | 직접 정의한 함수 |
4. 함수 정의 형식
def 함수이름([인수]):
# 기능을 수행하는 코드
[return 반환값]
예시 1: 인수도 없고 반환값도 없는 함수
def greet():
print("안녕하세요!")
예시 2: 인수가 있고 반환값도 있는 함수
def add(x, y):
return x + y
5. 함수 호출 형식
결과 = 함수이름(인수값)
- 함수이름()만 호출해도 실행 가능
- return값은 생략 가능하며, 없으면 None 반환
- 여러 값을 return할 땐 tuple, list, dict 등으로 반환
def get_name_age():
return "홍길동", 20 # tuple로 반환됨
name, age = get_name_age()
6. 함수의 구성 요소
요소 설명
def | 함수 정의 키워드 |
함수명 | 식별 가능한 이름 (동사 형태 권장) |
인수(파라미터) | 함수 호출 시 전달되는 값 |
return | 함수 실행 결과를 반환하는 키워드 |
들여쓰기 | 함수 내부 코드 작성 시 필수 (보통 4칸) |
7. 특별한 키워드
키워드 설명
pass | 아무 동작 없이 넘어갈 때 사용 |
None | 반환값이 없음을 명시할 때 사용 |
__main__ | 현재 실행 중인 파일의 이름 공간을 의미 |
if __name__ == '__main__':
# 해당 파일이 직접 실행될 때만 실행됨
print("이 파일은 메인 스크립트입니다.")
8. 사용자 정의 함수의 4가지 유형
인수 반환값 함수 예시
❌ | ❌ | def hello(): print("hi") |
✅ | ❌ | def show(msg): print(msg) |
❌ | ✅ | def get_value(): return 5 |
✅ | ✅ | def square(x): return x*x |
9. 라이브러리와 패키지 이해
용어 설명
모듈(Module) | .py 확장자의 파이썬 파일. 함수 모음 파일 |
라이브러리 | 모듈을 모아둔 형태 |
패키지 | 라이브러리를 설치할 수 있도록 구성한 파일 |
설치 도구 | pip, conda 등 사용 |
주피터 노트북에서 외부 명령어 실행 시 !pip install 등 사용 가능
✅ 오늘의 정리
항목 설명
함수란? | 하나의 기능을 담당하는 코드 집합 |
정의 방법 | def 함수이름(매개변수): |
호출 방법 | 함수이름(인수) |
반환 | return으로 반환값 지정 (생략 가능) |
사용자 정의 함수 유형 | 인수/반환 여부에 따라 4가지 |
함수 이름 | 소문자, 동사형 권장 |
다음 차시에서는 함수 심화(가변 인자, 키워드 인자)와 모듈의 정의와 활용에 대해 학습합니다.
여러 파일로 코드를 나누어 체계적이고 재사용 가능한 파이썬 프로젝트를 만드는 기반이 됩니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
16. 함수 고급 활용과 모듈의 기초 (1) | 2025.04.06 |
---|---|
15. 함수 인자 활용과 모듈 개념 이해 (0) | 2025.04.05 |
13. 집합(Set)과 함수(Function)의 기초 (1) | 2025.04.03 |
12. 딕셔너리 메서드와 실전 활용 (0) | 2025.04.02 |
11. 딕셔너리(dict)의 개념과 활용 (1) | 2025.04.01 |