Возможный дубликат:
Каков наилучший способ реализации "enum" в Python?
Im записывая функцию, которая в идеале Id должна возвращать одно из трех состояний: "да", "нет" и "не знаю".
-
Есть ли у каких-либо языков программирования тип, состоящий из трех и только трех состояний? Как булев, но с тремя состояниями вместо двух?
-
В языках, которые не имеют такого типа (например, Python), каков наилучший тип для представления этого?
В настоящее время я думаю, что я пойду с целым числом (
0для "нет",1для "не знаю" и2для "да" ), но, может быть, лучший способ? Целые числа кажутся немного "магическим числом".Я мог бы вернуть
True,FalseилиNone, но какNoneбудет оцениваться какFalseв большинстве контекстов сравнения, это кажется немного созревшим для ошибок.