TGViewer
Big Data Science [RU] Big Data Science [RU] @bdscience_ru · 1.62K subscribers
Post #29 633
Пишем на Python еще проще: как создать свой класс за пару строчек с модулем dataclass
Аналитики данных и Data Scientist’ы очень любят Python – удобный в изучении и простой в использовании объектно-ориентированный язык, который содержит множество встроенных функций и позволяет создавать собственные. Согласно принципу DRY (Don’t Repeat Yourself), современным стандартом разработки является упаковка кода в классы, которые предоставляют API для использования их методов. На практике создавать собственные классы в Python приходится достаточно часто, с последующим дополнением и расширением их по мере работы. Делать это быстрее поможет стандартный модуль dataclasses, который сперва следует импортировать. Затем нужно задекорировать пользовательский класс специальной функцией dataclass, а внутри этого класса перечислить необходимые атрибуты, предварительно их аннотировав, т.е. задав типы. Например, для пользовательского класса Person с целочисленным идентификатором и строковым именем это будет выглядеть так:
from dataclass import dataclass
@dataclass
class Person:
id: int
name: str
Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init () и repr (), в определенные пользователем классы. Впрочем, пользоваться модулем dataclasses нужно с умом и знать о следующих особенностях:
• по умолчанию модуль не проверяет тип, указанный в аннотации переменной;
• декоратор dataclass() добавляет в пользовательский класс некоторые методы, которые могут быть лишними и дублировать поведение уже существующих в классе;
• при использовании декоратора dataclass(), все базовые классы просматриваются в обратном порядке, начиная с объекта и для каждого найденного класса добавляются атрибуты его родителя в упорядоченное отображение полей. Все сгенерированные методы будут использовать это комбинированное вычисляемое упорядоченное сопоставление полей. А, поскольку поля расположены в порядке их вставки, производные классы переопределяют базовые.
More from @bdscience_ru
  1. Oct 1, 2026Перезапуск Microsoft Copilot как «суперприложения» Компания Microsoft официально представи…
  2. Sep 25, 2026Распознавание экрана (Onscreen Awareness) Siri научилась понимать, что происходит у вас на…
  3. Sep 15, 2026Reuters раскрыло инцидент со скоординированными действиями ИИ-агентов OpenAI: Расследовани…
  4. Aug 31, 2026Самая ужасная гавайская рубашка Немецкий дизайнер Симон Веккерт разработал гавайскую рубаш…
  5. Aug 25, 2026WeatherNext от Google DeepMind совершил прорыв в метеорологии! Новый ИИ прогнозирует тропи…
  6. Aug 15, 2026🧠 Enterprise AI наконец-то перестал быть «чатиком сбоку» OpenAI опубликовали два исследов…
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 →