Код: Выделить всё
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, но он не может этого сделать, поскольку это не приведет к завершению цикла while. В других случаях они могут захотеть сохранить None в дереве или что-то подобное, поэтому я не смогу использовать None для представления пропущенных значений.
Поскольку этот шаблон полезен не только в случаях выхода из цикла, я ищу общую альтернативу None в ситуациях, когда None не работает. Что мне следует использовать в качестве значения-заполнителя, если значение None не разрешено?