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

Введение в ограничение свойств в ООП в Python

Обычный объект Python может получить новое свойство в любой момент: достаточно присвоить значение через точку. Иногда нужно заранее перечислить, какие поля у объекта вообще допустимы.

Для этого в классе задают атрибут __slots__ - кортеж с именами разрешённых свойств экземпляра.

Давайте сделаем класс User с ограничением на name и age:

class User: __slots__ = ('name', 'age')

Создадим объект и запишем разрешённые свойства:

user = User() user.name = 'john' user.age = 25 print(user.name, user.age) # выведет 'john 25'

Список в __slots__ задаёт, какие имена может иметь объект, ещё до того, как вы начнёте записывать в него данные.

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