728x90
Python은 데이터를 다루는 언어 중 아주 유연한 언어 이지만, 모델링 또는 데이터 유효성 검사 시 불편한 점이 있다.
아주 훌륭한 Dict, List 등의 자료형으로 많은 일들을 할 수 있지만 여전히 모델링을 하기엔 다소 부족한 점이 있다.
Pydantic 이란?
Pydantic은 Python에서 사용할 수 있는 데이터 직렬화 도구 이다.
이를 사용하면, 데이터 모델을 생성하고 그에 맞는 유효성 검사를 할 수 있다.
역시나 Pythonic 하게 Type hinting을 사용해 아주 간결하고 가독성이 좋게 만들 수 있게 도와 준다.
요즘 핫한 Python web framework인 FastAPI에서 데이터의 모델을 정의할 때 사용하고 있다.
Pydantic 설치
pip install pydantic
Pydantic은 간단하게 pip로 설치가 가능하다.
Pydantic 예제
아래는 기존의 Dict를 그에 맞게 정의한 데이터 모델에 적용하는 예제이다.
from pydantic import BaseModel
# 데이터 모델 정의
class User(BaseModel):
name: str
age: int
email: str
# 데이터
user_data = {
"name": "TJ",
"age": "30", # 입력은 string
"email": "iam@taeju.kim"
}
# 데이터 유효성 검사 및 역직렬화
user = User(**user_data)
# 유효성 검사 및 역직렬화된 데이터 사용
print(user.name) # 출력: TJ
print(user.age) # 출력: 30 # 출력은 int
print(user.email) # 출력: iam@taeju.kim
이 와 같이 Pydantic을 사용하면 데이터 모델을 아주 쉽게 정의하고 기존 데이터들을 적용할 수 있다.
동시에 유효성 검사도 수행해준다.
Pydantic은 위와 같은 기본적인 기능 외 다중 계층 모델, 사용자 정의 유효성 검사 등 편리한 기능을 많이 제공한다.
자세한 내용은 아래 공식 문서를 참조 해보자.
'개발이야기 > Python' 카테고리의 다른 글
Python 커스텀 익셉션 만들기 (0) | 2024.07.11 |
---|---|
Python 프로젝트 구성 끝판왕 Pyenv + Poetry (0) | 2023.05.31 |
Django에서 Request Log를 쉽게 확인해보자 (0) | 2023.02.15 |
Pyenv 설치와 사용법 - Python 버전 관리 도구 (0) | 2023.01.26 |
FastAPI에 SQLAlchemy 연동하기 (0) | 2023.01.20 |