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