Логические значения имеют два возможных значения. Существуют ли типы, у которых есть три возможных значения? [дубликат]

Возможный дубликат:
Как лучше всего реализовать «перечисление» в Python?

Я пишу функцию, которая в идеале мне бы хотелось вернуть одно из трех состояний: « да »,« нет »и« не знаю ».

  1. Есть ли у каких-либо языков программирования тип с тремя и только тремя состояниями? Как логическое значение, но с тремя состояниями вместо двух?

  2. На языках, в которых нет такого типа (например, Python), какой тип лучше всего представляет это?

    В настоящее время я думаю, что выберу целое число ( 0 для «нет», 1 для «не знаю» и 2 для «да»), но, может быть, есть способ лучше? Целые числа кажутся немного «волшебным числом».

    Я мог бы вернуть True , False или None , но поскольку None оценил бы как False в в большинстве сравнительных контекстов это кажется немного подходящим для ошибок.

37
задан Community 23 May 2017 в 12:32
поделиться