Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpDcFz 123 of 174 menu
◀ ▶

Замороженный датакласс в ООП в Python

Иногда объект данных не должен меняться после создания. Для этого у декоратора @dataclass есть параметр frozen=True.

Давайте сделаем замороженный класс User:

from dataclasses import dataclass @dataclass(frozen=True) class User: name: str age: int

Создадим объект и попробуем изменить его поле:

user = User('john', 25) user.age = 30 # ошибка

Сравнение объектов при этом работает как обычно:

user1 = User('john', 25) user2 = User('john', 25) print(user1 == user2) # выведет True

Сделайте замороженный датакласс Employee с полями name и salary.

Создайте объект и убедитесь, что запись в salary приводит к ошибке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить