Как стать автором
Обновить

Комментарии 8

validate_assignment=True - включает валидацию в момент присваивания для Pydantic.

Но это может сказаться на производительности.

from pydantic import BaseModel

class Foo(BaseModel):
    age: int

    class Config:
        validate_assignment = True

foo = Foo(12)
foo.age = "some"

# ValidationError
# age
#   value is not a valid integer (type=type_error.integer)

Вы излишне толерантны:
- не "может сказаться", а "скажется"
- и не "скажется", а "снизит в разы"
- и не "как будто это что-то плохое", а "за всё надо платить"

В Python начиная с Python 3 появился модуль typing, который обеспечивает поддержку подсказок типов во время выполнения.

Раааазве? Насколько я знаю, это сугубо статические подсказки для анализатора кода, которые игнорируются самим интерпретатором во время выполнения. Да, к ним можно получить доступ через рефлексию, и можно написать обёртку, которая проверит правильность типов при вызове функции, но это не основное назначение библиотеки.

Вы правы, внесу уточнение.

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

Зачем? Используйте Ctrl+Enter если считаете, что нашли ошибку - я исправлю.

Хотя бы потому что написать свою статью, предварительно изучив тему, сделав на ней работу, набив шишек и т.д., совершенно не сопоставимо по трудозатратам с переводом чужого труда (и судя по глупым ошибкам, даже не погрузившись в тему), и оценивать одними оценками эти статьи, как минимум несправедливо.

Это уже учтёно в правилах ППА.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории