Фотография
нажмите — покажем
нажмите — покажем
🖥 Pydantic имеет встроенную функцию для проверки данных, но она использует много памяти.
Attrs не имеет встроенной проверки данных, но обеспечивает лучшую производительность и меньшее потребление памяти, что делает его идеальным для внутренних структур данных и простого создания классов в Python.
```python
from attrs import define, field
@define
class UserAttrs:
name: str
age: int = field()
@age.validator
def check_age(self, attribute, value):
if value < 0:
raise ValueError("Возраст не может быть отрицательным")
return value # принимает любой положительный возраст
try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)
```
📌 Пример (https://codecut.ai/python-data-models-pydantic-or-attrs)
@Python_Community_ru
1.2K ·