TGViewer
Python/ django Python/ django @pythonl · 58.6K subscribers
Post #4552 9.56K
🖥 Pydantic имеет встроенную функцию #DataValidation , но она потребляет много памяти.

Attrs не имеет встроенной проверки данных и обеспечивает более высокую производительность и меньшее использование памяти, что идеально подходит для внутренних структур данных и простого создания классов в #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("Age can't be negative")
return value # accepts any positive age


try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)


📌 Пример

@pythonl
  • 👍 17
  • ❤ 8
  • 🔥 5
More from @pythonl
  1. Oct 7, 2026Python 3.15 почти готов: вышел RC3, финальный релиз 9 октября Python 3.15.0rc3 вышел 2 окт…
  2. Oct 6, 2026🐍 Python Workers в Cloudflare вышли в GA Cloudflare официально сделала Python полноценным…
  3. Oct 6, 2026🎇Главная идея DevSecOps: безопасность перестаёт тормозить разработку. Вместо проверок «по…
  4. Oct 6, 2026🐍 Какая зависимость держит ваш Django на старой версии? django-upgrade-report читает зави…
  5. Oct 5, 2026🖥 Python-дайджест недели: PyPy 8 с Python 3.12, отладка None и фреймворки для агентов PyP…
  6. Oct 4, 2026🐍 Python тормозит? В 3.15 добавили инструмент, который покажет где Tachyon (`profiling.sa…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →