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인터랙티브 레슨 시작