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

Флаговое перечисление в ООП в Python

Иногда одному объекту нужно сразу несколько независимых признаков: читать, писать, выполнять. Для таких наборов в модуле enum есть класс Flag.

Сделаем флаги прав доступа к документу работника:

from enum import Flag, auto class DocAccess(Flag): READ = auto() WRITE = auto() EXECUTE = auto()

Несколько флагов можно объединить оператором |:

access = DocAccess.READ | DocAccess.WRITE print(access) # выведет DocAccess.READ|WRITE

Проверим, входит ли отдельный флаг в комбинацию:

print(DocAccess.READ in access) # выведет True print(DocAccess.EXECUTE in access) # выведет False

Сделайте флаговое перечисление NotificationChannel с каналами уведомлений. Соберите комбинацию из двух флагов и проверьте наличие одного из них.

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