Встречается на собеседованиях • сегодня
В чем разница навесить или не навесить декоратор @dataclass
Декоратор @dataclass автоматически генерирует специальные методы (__init__, __repr__, __eq__ и др.) для класса, сокращая boilerplate-код. Без него эти методы нужно писать вручную.
Пример с @dataclass:
python
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
text
Эквивалент без декоратора:
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Point(x={self.x}, y={self.y})"
def __eq__(self, other):
return self.x == other.x and self.y == other.yКлючевые отличия:
@dataclassавтоматически создает__init__,__repr__,__eq__- Поддерживает type hints (но не проверяет типы)
- Можно добавить методы вручную при необходимости
- Есть дополнительные параметры:
frozen=True,order=Trueи др.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы