Python 3.11+typingфункция
typing.assert_type
приведение и отладка
Утверждение для средства проверки типов: значение должно иметь указанный тип; во время выполнения возвращает значение без изменений (Python 3.11+).
Синтаксис
typing.assert_type(value, typ)
Это инструмент не для рантайма, а скорее тест над самими аннотациями: он заставляет средство проверки типов подтвердить, что у значения выведен ровно ожидаемый тип, и падает статически при расхождении. Во время выполнения не делает ничего — просто возвращает значение, поэтому в обычном коде смысла в нём нет. Не путать с cast: cast навязывает тип, assert_type лишь проверяет уже выведенный.
Примеры
from typing import assert_type
print(assert_type(5, int)) # → 5
print(assert_type([1, 2], list[int])) # → [1, 2]
print(repr(assert_type('42', int))) # → '42'
nums = [1, 2]; print(assert_type(nums, list[int]) is nums) # → True
print(assert_type(5)) # → TypeError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности