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

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

__slots__ ограничивает только поля экземпляра. Свойство класса, заданное в теле класса, живёт отдельно и не должно попадать в кортеж слотов.

Добавим к User общую метку и слоты для данных объекта:

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

Создадим объект и прочитаем свойство класса:

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

Имя kind в __slots__ не указываем: это не поле каждого юзера, а одно значение на весь класс.

Сделайте класс Employee со свойством класса entity и слотами для name и id. Прочитайте entity через класс и через объект.

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