1. У request_id задано значение по умолчанию — строка none. В текущем контексте переменную ещё не устанавливали, поэтому первый get возвращает именно эту строку. Она отличается от специального значения None.
2. Вызов set устанавливает req-7 и возвращает Token, который позволяет отменить это изменение. Начиная с Python 3.14 Token поддерживает контекстный менеджер. Поэтому выражение with request_id.set(...) корректно, а внутри блока get возвращает req-7.
3. При выходе из with токен восстанавливает состояние до set. Здесь явно установленного значения раньше не было. Последний get снова обращается к значению по умолчанию и выводит none. Полный вывод: none, req-7, none, каждое значение на своей строке.
Почему это важно
Так можно ограничить идентификатор запроса одной операцией, не оставляя его для последующих вызовов в том же контексте. Это короткая запись привычного set с последующим reset в finally. Токен относится к конкретному изменению, повторно сбрасывать переменную тем же токеном нельзя.
Код проверен в CPython 3.14.4.
Документация Python