TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.91K subscribers
Post #4921 92
Шаблон и условие — по очереди

1️⃣Изначально status содержит строку old. Конструкция match получает для проверки строку queued.

2️⃣В записи case status имя status является захватывающим шаблоном. Оно не сравнивается с прежним значением old: шаблон успешно связывает status со строкой queued.

3️⃣Только после этого проверяется условие status == "done". Оно ложно, поэтому тело первой ветки не выбирается. Следующий case _ подходит и печатает fallback.

4️⃣Ложное условие не отменяет уже выполненное связывание имени. После match переменная status содержит queued, и последний print выводит её. Результат: fallback, затем queued.

Почему это важно
Если использовать в шаблоне имя существующей переменной, её значение можно заменить ещё до проверки дополнительного условия. Для сравнения с конкретной строкой пишите строковый литерал, например case "done". Для захваченного значения удобно выбрать отдельное имя, чтобы не потерять прежний статус.
More from @quiz_python
  1. Oct 11, 2026Post #4920
  2. Oct 10, 2026Подробное объяснение 1️⃣Функция sorted выполняет посимвольное сравнение строк по кодам сим…
  3. Oct 10, 2026Post #4918
  4. Oct 9, 2026Развёрнутое пояснение 1️⃣Создаётся словарь prices с единственной парой ключ-значение tea:…
  5. Oct 9, 2026Post #4916
  6. Oct 8, 2026Разбор по шагам 1️⃣В определении списка после строки go пропущена запятая. 2️⃣Python склеи…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →