
Pydantic은 파이썬의 타입들을 활용한 데이터 검증 라이브러리입니다.
주로 주어진 데이터의 오류를 찾고, 런타임에서도 타입 힌트를 제공하는 역할을 합니다.
Pydantic을 사용하면 파이썬의 객체를 TypeScript의 방식처럼 선언할 수 있습니다.
데이터 검증
Pydantic에서 제공하는 BaseModel 클래스를 상속하여 사용할 수 있습니다.
from pydantic import BaseModel
class User(BaseModel):
name: str # 문자열
age: int # 정수
createdAt: datetime # 날짜
dimensions: tuple[int, int] # (정수, 정수)
preference: Optional[str] = None # 기본값 None인 문자열
rating: int | float # 정수 또는 실수
friends: List[str] = [] # 기본값 []인 문자열[]
다양한 타입 정의
파이썬의 기본적인 타입뿐 만 아니라, Pydantic에서 정의한 특수한 타입들도 사용할 수 있습니다.
from pydantic import BaseModel, EmailStr
from pydantic_extra_types.currency_code import Currency
class currency(BaseModel):
alpha_3: Currency // 통화 기호 ('KRW', 'USD', ...)
class Model(BaseModel):
email: EmailStr // 이메일 형식('contact@mail.com')
예외 처리
이후 입력한 데이터가 지정한 데이터 조건에 위반될 경우,
pydantic의 ValidationError 값을 이용해 예외처리를 작성할 수 있습니다.
except ValidationError as e:
logging.error(f"Validation error: {e.errors()}")
return jsonify({"message": "Validation error", "errors": e.errors()}), 400
자세한 데이터 타입들에 대한 정보는 아래 문서에서 확인할 수 있습니다.
https://docs.pydantic.dev/latest/api/base_model/
BaseModel - Pydantic
Data validation using Python type hints
docs.pydantic.dev
728x90
'Language > Python' 카테고리의 다른 글
| [Python] Library | 06. OS (0) | 2025.07.28 |
|---|---|
| [Python] requirements.txt 파일 작성하기 (0) | 2025.02.16 |
| [Python] Library | 04. selenium (0) | 2024.01.28 |
| [Python] Library | 03. tqdm (0) | 2023.06.10 |
| [Python] Library | 02. lmdb (0) | 2023.06.03 |