Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить