반응형
Pydantic 2.0: 파이썬에서 데이터 유효성 검사와 파싱을 새롭게 만들다
Pydantic의 기본 개념과 특징
Pydantic은 2017년에 Samuel Colvin에 의해 처음 만들어졌고, 2019년 말에 1.0 버전이 출시되었습니다. 이 패키지는 매월 7천만 번 이상 다운로드되고 있으며, GitHub에서 20만 개 이상의 리포지토리에서 사용되고 있습니다.
- Type Hint의 힘: Pydantic은 타입 힌트를 활용하여 스키마 유효성 검사와 직렬화를 제어합니다.
- 속도: Pydantic의 핵심 유효성 검사 로직은 Rust로 작성되어 있어, 가장 빠른 파이썬 데이터 유효성 검사 라이브러리 중 하나입니다.
- JSON 스키마: Pydantic 모델은 JSON 스키마를 생성할 수 있어 다양한 도구와의 통합이 간편합니다.
- 유연한 모드: Pydantic은 엄격한 모드와 유연한 모드를 지원합니다.
- 표준 라이브러리 타입 지원: Pydantic은 dataclass와 TypedDict를 포함한 다양한 표준 라이브러리 타입을 지원합니다.
Pydantic 사용 예시
from datetime import datetime
from pydantic import BaseModel, PositiveInt
class User(BaseModel):
id: int
name: str = 'John Doe'
signup_ts: datetime | None
tastes: dict[str, PositiveInt]
Pydantic의 유효성 검사 오류 처리
Pydantic은 유효성 검사 오류가 발생할 경우, 오류 유형, 위치, 입력 데이터, 오류에 대한 추가 정보를 제공합니다.
external_data = {'id': 'not an int', 'tastes': {}}
try:
User(**external_data)
except ValidationError as e:
print(e.errors())
Pydantic 2.0의 새로운 기능
- 엄격한 모드 스위치
- 데이터 변환 방법의 명확화
- 내장 JSON 지원
- 모델 없는 유효성 검사
반응형
'Python' 카테고리의 다른 글
구글 제미나이 Gemini, 파이썬 API 기초 사용법 (0) | 2024.01.22 |
---|---|
[python] httpx BeautifulSoup 를 이용한 demoday 크롤링 (0) | 2023.03.10 |
[python] 파이썬 Pandas 재무 데이터 분석 (0) | 2023.02.27 |
python url parameter 인코딩 디코딩 변경방법 (0) | 2023.02.10 |
python error ERROR: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. 파이썬 에러 해결 (0) | 2023.02.10 |
댓글