فیلد های مبتنی بر typing

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/09/15
  • تعداد بازدید: 3

در این بخش انواع مختلف فیلدها در Pydantic را بر اساس ماژول typing بررسی می‌کنیم. این دسته‌بندی نشان می‌دهد که چگونه Pydantic از type hint‌های پایتون برای تشخیص و اعتبارسنجی داده‌ها استفاده می‌کند.

انواع فیلدهای مبتنی بر typing:

نوع تایپینگ نمونه تعریف کاربرد
List tags: list[str] تعریف لیستی از یک نوع مشخص
Tuple coords: tuple[int, int] تعریف مجموعه‌ای با طول و نوع ثابت
Dict settings: dict[str, int] دیکشنری با نوع کلید و مقدار مشخص
Set items: set[str] مجموعه‌ای از مقادیر غیرتکراری
Union value: int | str فیلدی که می‌تواند چند نوع مختلف داشته باشد
Literal status: Literal["on", "off"] محدود کردن مقدار به یک لیست ثابت از گزینه‌ها
Annotated age: Annotated[int, "positive"] افزودن متادیتا یا محدودیت‌ها (در v2 پشتیبانی بهینه شده)
Optional middle: Optional[str] نوعی که می‌تواند None نیز باشد
Any data: Any پذیرش هر نوع داده بدون محدودیت
Callable handler: Callable[[int], str] یک تابع با ورودی و خروجی مشخص
TypedDict Config: TypedDict ساخت دیکشنری با فیلدهای تایپ‌شده
Enum role: UserRole مقدار محدود به گزینه‌های Enum
Model Nested profile: Profile یک مدل دیگر را به‌عنوان فیلد قرار می‌دهد

مثال کلی از استفاده انواع typing در یک مدل:


from typing import list, dict, tuple, set, Union
from datetime import datetime
from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str
    tags: list[str]
    coords: tuple[int, int]
    settings: dict[str, int]
    permissions: set[str]
    value: int 

این ساختار نشان می‌دهد که Pydantic قدرت خود را از سیستم تایپینگ پایتون می‌گیرد و با همین تایپ‌ها می‌تواند مدل‌های دقیق، خوانا و قابل اعتبارسنجی ایجاد کند.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.