Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- mongo
- PRISMA
- postgresql
- DB
- CSS
- sqlite
- threejs
- Express
- ps
- API
- ML
- Git
- ts
- frontend
- C++
- vscode
- DM
- js
- review
- SOLID
- UI
- GAN
- html
- react
- CV
- python
- Linux
- PyTorch
- figma
- nodejs
Archives
- Today
- Total
아카이브
[Python] Library | 05. Pydantic 본문
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] 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 |
[Python] Library | 01. functools (0) | 2023.05.12 |
Comments