Logo
내 게시판 만들기
파이썬

Pydantic — 데이터 검증과 타입 안전

야옹이 | 2026.04.27 13:06:19
조회 16 | 추천 0

Pydantic은 「타입 힌트 기반의 데이터 검증」 라이브러리입니다.

외부에서 들어온 JSON·YAML·dict가 「내가 기대한 형태인지」 자동 검증.

FastAPI의 핵심 동력이고 단독으로도 매우 유용합니다.



기본.

from pydantic import BaseModel.

class User(BaseModel): name: str; age: int; email: str | None = None.

user = User(name="홍", age=30).

잘못된 타입(age="abc")이면 ValidationError 자동 발생.



고급 검증.

Field로 제약 추가.

age: int = Field(ge=0, le=150) — 0~150.

name: str = Field(min_length=1, max_length=100).

EmailStr·HttpUrl 같은 특수 타입도 제공.



직렬화.

user.model_dump() — dict로 변환.

user.model_dump_json() — JSON 문자열로.

User.model_validate(dict_data) — dict에서 검증과 함께 파싱.

JSON·DB 행·외부 API 응답을 안전하게 파싱하는 표준 도구.



v1과 v2가 호환되지 않습니다.

2023년 v2가 나오면서 .dict() → .model_dump() 같은 이름 변경.

v1 코드 마이그레이션이 약간 번거롭지만 v2는 Rust 기반으로 5~50배 빨라졌습니다.




한 줄 요약


Pydantic은 타입 힌트로 데이터 검증·직렬화하는 라이브러리.

Field로 제약 추가, model_dump로 dict/JSON 변환.

v2는 Rust 기반으로 매우 빠릅니다.




더 알아볼 것


- v1 → v2 마이그레이션

- pydantic-settings — 환경설정 검증

- dataclass와의 차이

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
161 햇살이 26/04/27 12 0
160 다람쥐 26/04/27 18 0
159 구름이 26/04/27 17 0
158 햇살이 26/04/27 14 0
157 멍뭉이 26/04/27 14 0
156 토순이 26/04/27 14 0
155 야옹이 26/04/27 14 0
154 별님이 26/04/27 13 0
153 다람쥐 26/04/27 17 0
152 구름이 26/04/27 19 0
151 구름이 26/04/27 14 0
150 곰돌이 26/04/27 17 0
149 야옹이 26/04/27 20 0
148 다람쥐 26/04/27 15 0
147 구름이 26/04/27 16 0
146 다람쥐 26/04/27 40 0
145 구름이 26/04/27 16 0
144 별님이 26/04/27 13 0
143 곰돌이 26/04/27 14 0
142 너구리 26/04/27 16 0
141 야옹이 26/04/27 14 0
140 너구리 26/04/27 17 0
139 멍뭉이 26/04/27 14 0
138 야옹이 26/04/27 15 0
137 별님이 26/04/27 12 0
136 야옹이 26/04/27 16 0
135 멍뭉이 26/04/27 13 0
134 햇살이 26/04/27 14 0
133 햇살이 26/04/27 12 0
132 토순이 26/04/27 15 0
신고하기

신고 사유를 선택해 주세요.