Пошаговое руководство по проверке и структурированию данных пользователей, продуктов и заказов с помощью Pydantic в Python

 A Step-by-Step Tutorial on Robustly Validating and Structuring User, Product, and Order Data with Pydantic in Python

“`html

Проверка и структура данных с помощью Pydantic в Python

В современных приложениях на Python важно, чтобы входящие данные были корректными и полными. Pydantic — это мощная библиотека, которая позволяет определять модели данных и автоматически проверять их.

Шаг 1: Установка зависимостей

Установите Pydantic с помощью команды:

pip install pydantic

Для проверки email используйте:

pip install pydantic[email]

Шаг 2: Определение моделей Pydantic

Создайте модели для пользователя, продукта и заказа:


class User(BaseModel):
    name: str = Field(..., min_length=1, max_length=50)
    email: EmailStr = Field(...)
    age: Optional[conint(ge=0, le=120)] = Field(None)
    phone_number: Optional[str] = Field(None, pattern=r'^+?[1-9]d{1,14}$')

class Product(BaseModel):
    name: str = Field(..., min_length=1, max_length=100)
    price: float = Field(..., gt=0)
    quantity: conint(gt=0) = Field(...)

class Order(BaseModel):
    order_id: int = Field(..., gt=0)
    user: User
    products: List[Product] = Field(...)

    @property
    def total_cost(self) -> float:
        return sum(product.price * product.quantity for product in self.products)

Эти модели обеспечивают структурированный подход к управлению данными.

Шаг 3: Реализация проверки в функции main()

Создайте функцию для проверки данных:


def main():
    user_data = {
        "name": "Jane Doe",
        "email": "jane.doe@example.com",
        "age": 30,
        "phone_number": "+1234567890"
    }

    products_data = [
        {"name": "Keyboard", "price": 49.99, "quantity": 1},
        {"name": "Mouse", "price": 19.99, "quantity": 2}
    ]

    order_data = {
        "order_id": 101,
        "user": user_data,
        "products": products_data
    }

    try:
        valid_user = User(**user_data)
        valid_products = [Product(**pd) for pd in products_data]
        valid_order = Order(**order_data)
        print(f"Общая стоимость заказа: {valid_order.total_cost}")
    except ValidationError as e:
        print("Ошибка валидации:", e)

Шаг 4: Запуск программы

Запустите функцию main() для проверки данных:

main()

Преимущества использования Pydantic

Pydantic помогает гарантировать, что данные корректны, что упрощает логику кода и повышает надежность приложений.

Как ИИ может помочь вашему бизнесу

Если вы хотите развивать свою компанию с помощью ИИ, используйте следующие шаги:

  • Анализируйте, как ИИ может изменить вашу работу.
  • Определите ключевые показатели эффективности (KPI), которые хотите улучшить.
  • Выбирайте подходящие решения ИИ и внедряйте их постепенно.

Если вам нужны советы по внедрению ИИ, пишите нам в Telegram.

Следите за новостями о ИИ в нашем Telegram-канале или в Twitter.

Попробуйте AI Sales Bot для автоматизации продаж.

“`

Полезные ссылки: