Урок 17: dataclasses — меньше шаблонного кода
Считали ли вы когда-нибудь, сколько строк занимают конструктор, __eq__ и красивый вывод? Python посчитал — и создал сокращение: @dataclass. Один декоратор над классом, список атрибутов — и весь шаблонный код пишется за вас. Поняв, как это работает изнутри, вы заслужили это сокращение.
@dataclass — как готовый бланк: вместо того чтобы составлять одно и то же письмо с нуля каждый раз, вы заполняете только поля — остальное уже написано.
- @dataclass
- Декоратор из модуля dataclasses, автоматически генерирующий __init__, __eq__ и представление для вывода из списка атрибутов.
- шаблонный код
- Код, почти идентично повторяющийся в каждом классе — как конструктор, сохраняющий параметры в атрибуты.