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

Датакласс с ограничением свойств в ООП в Python

Обычный датакласс позволяет записать в объект любое новое свойство. Параметр slots=True в декораторе разрешает только поля, объявленные в классе.

Давайте сделаем такой класс User:

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

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

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

Объявленные поля по-прежнему доступны как обычно:

print(user.name) # выведет 'john'

Сделайте датакласс Employee с slots=True и полями name, surn и salary.

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

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