Комментарии 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 если считаете, что нашли ошибку - я исправлю.
Хотя бы потому что написать свою статью, предварительно изучив тему, сделав на ней работу, набив шишек и т.д., совершенно не сопоставимо по трудозатратам с переводом чужого труда (и судя по глупым ошибкам, даже не погрузившись в тему), и оценивать одними оценками эти статьи, как минимум несправедливо.
7 и 1/2 подходов к проверке атрибутов классов в Python