Python Glossary English

Python 3.11+typingфункция

typing.assert_never

приведение и отладка

Маркер недостижимой ветки (напр. в исчерпывающем match): средство проверки типов проверит недостижимость, а во время выполнения всегда бросает AssertionError (Python 3.11+).

Синтаксис

typing.assert_never(value)

Приём для исчерпывающих match или цепочек if-elif: в финальной, якобы недостижимой ветке средство проверки типов убеждается, что туда не попадает ни один вариант, а стоит добавить новый — и оно ткнёт носом именно в этот вызов. Во время выполнения полезной работы не несёт: раз управление сюда дошло, это уже баг, поэтому всегда бросает AssertionError.

Примеры

from typing import assert_never
try:
    assert_never(1)
except AssertionError:
    print('unreachable')   # → unreachable

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности