Как установить заполнитель (дозорный) без использования None?Python

Программы на Python
Anonymous
Как установить заполнитель (дозорный) без использования None?

Сообщение Anonymous »

У меня есть значение, которое всегда необходимо определить, но оно не всегда может быть значимым, и мне нужен заполнитель на тот случай, если оно еще не имеет значимого значения. Обычно я бы использовал None в качестве значения-заполнителя. Например, этот код должен запрашивать литерал Python, запрашивая его снова каждый раз, когда пользователь вводит что-то, что не является литералом Python:

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

import ast

user_input = None
while user_input is None:
try:
user_input = ast.literal_eval(input("Enter a Python literal: "))
except:
pass
Это один из вариантов использования, но я также использовал None в качестве заполнителя в структурах данных, циклах и других случаях.
Однако None иногда само по себе имеет значимое значение! В приведенном выше примере пользователю должно быть разрешено вводить None, но он не может этого сделать, поскольку это не приведет к завершению цикла while. В других случаях они могут захотеть сохранить None в дереве или что-то подобное, поэтому я не смогу использовать None для представления пропущенных значений.
Поскольку этот шаблон полезен не только в случаях выхода из цикла, я ищу общую альтернативу None в ситуациях, когда None не работает. Что мне следует использовать в качестве значения-заполнителя, если значение None не разрешено?

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