Следует ли сравнивать экземпляры перечисления по идентичности или равенству?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Следует ли сравнивать экземпляры перечисления по идентичности или равенству?

Сообщение Anonymous »

Рекомендации по программированию PEP 8 гласят:

Сравнения с одиночными элементами, такими как None, всегда следует выполнять с помощью is или is not, никогда не используйте операторы равенства.

Согласно документации, члены перечисления являются одиночными. Означает ли это, что их также следует сравнивать по идентичности?

Код: Выделить всё

class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3

# like this?
if color is Color.RED:
...

# or like this
if color == Color.RED:
...
При использовании операторов равенства я не заметил никаких проблем, которые оправдывали бы такую ​​сильную формулировку, как PEP 8. В чем недостаток использования равенства, если таковые имеются? Разве это в любом случае не возвращается к сравнению на основе идентичности? Это просто микрооптимизация?

Подробнее здесь: https://stackoverflow.com/questions/258 ... r-equality
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»