TGViewer
дата инженеретта дата инженеретта @data_engineerette · 3.43K subscribers
Post #557 2.6K
Датаклассы

Наконец-то спустя год дошли руки написать про датаклассы 🌷 Меня спросили на собесе в ламоду, и тогда я про них либо краем уха слышала, либо вообще не слышала. Но точно не использовала. Посмотрим, что с ними можно делать

Зачем?

Датакласс описывает данные, но без кучи лишних методов. Он сам вместо нас добавит __init__, __repr__, __eq__ по дефолту. Набор методов можем сами менять с помощью флагов

Как создать?

Чтобы датаклассы заработали, нужно их импорнуть и добавить в виде аннотации:


from dataclasses import dataclass

@dataclass
class SparkParams:
"""Dataclass для параметров spark-submit команды."""

name: str
deploy_mode: str
driver_cores: int
driver_memory: str
executor_cores: int
executor_memory: str
num_executors: int


Готово! Никакие методы добавлять не нужно

Как использовать?


spark_params = SparkParams("test_app", "cluster", 2, "4g", 4, "32g", 8)


Другие фишки

Запрещаем менять поля:


@dataclass(frozen=True)


Задаем дефолтные значения:


@dataclass
class Team:
description: str | None = None
emails: list[str] = field(default_factory=list) # для list/dict/set


Чуть подробнее можно прочитать в короткой статье

@data_engineerette
  • 🔥 26
  • ❤ 5
More from @data_engineerette
  1. Sep 24, 2026Исследование data-people Тут ребята из DevCrowd запустили ежегодное исследование специалис…
  2. Sep 22, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  3. Sep 15, 2026Каким должен быть хороший DE? Меня однажды спросили на собесе: 🤩Какие 3 качества важны дл…
  4. Sep 12, 2026Mermaid-диаграммы Наконец-то дошли руки поковыряться в mermaid-диаграммах, это что за имба…
  5. Sep 2, 2026Iceberg — это внезапный бум или планомерная подготовка? Заметили, как с определенного моме…
  6. Aug 25, 2026Как забытый ON CLUSTER поставил меня в тупик Я создала таблицу ReplicatedReplacingMergeTre…
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 →