РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
199 of 307 menu

Тип confloat

Тип confloat применяется внутри моделей Pydantic для описания поля, которое должно быть числом с плавающей точкой и одновременно удовлетворять набору ограничений. Первым параметром передаётся нижняя граница значения, вторым - верхняя граница. Если значение выходит за пределы диапазона или нарушает кратность, Pydantic выбрасывает ошибку валидации.

Основные параметры: gt - строго больше, ge - больше или равно, lt - строго меньше, le - меньше или равно, multiple_of - кратность числа, strict - запрет приведения типов.

Синтаксис

from pydantic import confloat field: confloat(gt=None, ge=None, lt=None, le=None, multiple_of=None, strict=None)

Пример

Давайте создадим модель с полем, которое принимает число от нуля до ста:

from fastapi import FastAPI from pydantic import BaseModel, confloat app = FastAPI() class Item(BaseModel): price: confloat(ge=0, le=100) @app.post('/item') def create_item(item: Item): return {'price': item.price}

Результат выполнения кода для тела {"price": 49.99}:

{"price": 49.99}

Пример

Давайте добавим ограничение на кратность числа:

from fastapi import FastAPI from pydantic import BaseModel, confloat app = FastAPI() class Payment(BaseModel): amount: confloat(gt=0, multiple_of=0.5) @app.post('/pay') def pay(payment: Payment): return {'amount': payment.amount}

Результат выполнения кода для тела {"amount": 12.5}:

{"amount": 12.5}

Если передать значение 12.3, FastAPI вернёт ошибку валидации, так как число не кратно 0.5.

Смотрите также

  • тип conint,
    который создаёт целое число с ограничениями
  • тип constr,
    который создаёт строку с ограничениями длины и шаблона
  • функция Field,
    которая задаёт ограничения для поля модели
  • класс BaseModel,
    который является основой для всех моделей Pydantic
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить