Встречается на собеседованиях • сегодня

В чем плюсы и минусы dataclass в Python

Плюсы:

  • Автоматически генерирует __init__, __repr__, __eq__ и другие методы, сокращая boilerplate-код.
  • Поддержка типизации через аннотации, что улучшает читаемость и проверку типов (с mypy).
  • Неизменяемость через frozen=True.
  • Легко добавлять дефолтные значения и порядок полей (field(default=...)).

Минусы:

  • Менее гибкий, чем обычные классы (например, сложнее кастомизировать методы).
  • Нет поддержки слабых ссылок (__weakref__) по умолчанию.
  • Немного накладные расходы на создание (но обычно не критично).

Пример:

python
from dataclasses import dataclass

@dataclass
class Point:
    x: int
    y: int = 0  # Дефолтное значение

p = Point(1)
print(p)  # Point(x=1, y=0)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы