Python Academy
49.5K subscribers
1.08K photos
2 videos
374 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
加入频道
Классы данных

Еще в Python 3.7 добавили такую мощную штуку, как классы данных. Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных.

Встроенный модуль dataclasses содержит декоратор @dataclass. С его использованием код будет выглядеть лаконично и коротко. Пример на картинке выше.

Важно отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing.

В результате вы автоматически получаете класс, с реализованными методами __init____repr____str__ и __eq__. Кроме того, это будет обычный класс и вы можете наследоваться от него или добавлять произвольные методы.

#dataclass
Классы данных

Еще в Python 3.7 добавили такую мощную штуку, как классы данных. Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных.

Встроенный модуль dataclasses содержит декоратор @dataclass. С его использованием код будет выглядеть лаконично и коротко. Пример на картинке выше.

Важно отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing.

В результате вы автоматически получаете класс, с реализованными методами __init____repr____str__ и __eq__. Кроме того, это будет обычный класс и вы можете наследоваться от него или добавлять произвольные методы.

#dataclass