Python Glossary English

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Сообщить о неточности