Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: computed, field, validation

Объяснить область применения декоратора @computed_field в моделях Pydantic

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

Короткий ответ

@computed_field используется для создания полей, значение которых вычисляется автоматически при обращении к модели. Такой подход позволяет инкапсулировать логику вычислений внутри модели, не храня лишние данные. Он помогает избежать дублирования вычислений и делает модель более выразительной. Обычно применяется для форматирования, агрегаций и вычисления производных значений.

Длинный ответ

Что такое computed_field

computed_field — это специальный декоратор Pydantic (v2), позволяющий объявлять поле модели, которое рассчитывается на основе других полей и не хранится явно.

Он нужен тогда, когда значение зависит от входных данных и должно вычисляться «на лету», оставаясь частью схемы модели.

Где применяется

  1. Создание производных значений
    Например, форматированное имя, вычисленная цена, агрегированное состояние объекта.

  2. Инкапсуляция логики внутри модели
    Модель сама знает, как получить нужное значение, и не требует внешних функций.

  3. Сериализация вычисляемых полей
    @computed_field поддерживает вывод значения в JSON, как если бы это было обычное поле.

Пример

from pydantic import BaseModel, computed_field

class User(BaseModel):
    first_name: str
    last_name: str

    @computed_field
    def full_name(self) -> str:
        return f"{self.first_name} {self.last_name}"

u = User(first_name="Ada", last_name="Lovelace")
print(u.full_name)  # Ada Lovelace

Вывод

computed_field стоит применять, когда нужно формировать значение на основе других полей без хранения его в модели.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • Python

    Python

Ключевые слова

#computed

#field

#validation

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.