Ch.2 Python 첫걸음 — 데이터를 다루다
함수 — 코드를 재사용하다
def로 함수를 정의하고 return으로 값을 반환한다매개변수 기본값을 활용한다
같은 코드를 100번 복사해야 한다면?
AI 학습 데이터를 처리하려면 정제 로직을 수만 번 반복해야 합니다. 같은 코드를 매번 복사하는 건 비효율적이죠.
반복되는 코드를 하나로 묶는 방법은?
함수 — 코드를 재사용하는 핵심 도구입니다.
article
핵심 내용
같은 텍스트 전처리를 1,000번 반복할 때마다 코드를 복사할 순 없습니다. 함수로 묶으면 한 줄이면 됩니다. 실제로 AI 파이프라인의 모든 단계 — 토큰화, 정규화, 임베딩 — 는 각각 함수로 구현됩니다.
함수는 코드를 재사용하는 이름표가 붙은 상자입니다
def greet(name):
"""인사말을 반환하는 함수"""
return f"안녕하세요, {name}님!"
message = greet("ChatGPT")
print(message) # 안녕하세요, ChatGPT님!def — 함수 정의 키워드 return — 값을 돌려줌 매개변수 — 함수에 전달하는 값
매개변수에 기본값을 주면 호출이 유연해집니다
AI에서 자주 쓰는 함수를 직접 만들어봅시다
# AI에서 자주 쓰는 함수 만들기!
# 1. 토큰 카운터
def count_tokens(text):
tokens = text.split()
return len(tokens)
# 2. 비용 계산기
def calc_cost(tokens, price_per_1k=0.03):
return tokens / 1000 * price_per_1k
# 3. 프롬프트 생성기
def make_prompt(question, system="당신은 친절한 AI입니다"):
return f"[시스템] {system}\n[사용자] {question}"
# 실행!
text = "오늘 날씨가 좋아서 산책하고 싶다"
tokens = count_tokens(text)
cost = calc_cost(tokens)
print(f"텍스트: {text}")
print(f"토큰 수: {tokens}")
dollar = "$"
print(f"API 비용: {dollar}{cost:.4f}")
print(f"\n생성된 프롬프트:")
print(make_prompt("Python이 뭐야?"))함수에서 return을 쓰지 않으면 반환값은?
def greet(name="세계")에서 greet()을 호출하면?
함수
edit_note
정리 노트
함수 — 코드를 재사용하다
함수 기본 구조
- def
- 함수를 정의하는 키워드 — def 함수이름(매개변수):
- return
- 함수가 결과값을 돌려주는 키워드 (없으면 None 반환)
- 매개변수
- 함수에 전달하는 입력값 — 호출 시 인자(argument)로 전달
함수 활용
- 기본값
- def f(x=10) — 인자 생략 시 기본값 사용
- 재사용
- 같은 로직을 여러 번 쓸 때 함수로 묶어 한 줄 호출
- AI 파이프라인
- 토큰화, 정규화, 임베딩 각각 함수로 구현
★
함수 = 코드의 레시피 — 한번 만들면 몇 번이든 재사용 가능!
image
시각 자료
다이어그램: py-scene-function
check_circle
핵심 정리
- 1def + return → 코드 재사용의 기본
- 2매개변수 기본값 → 유연한 함수 호출
- 3return 없으면 None 반환
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작