Python Glossary English

Python 3.5+typingфункция

typing.cast

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

Подсказывает средству проверки типов, что значение имеет указанный тип; во время выполнения просто возвращает значение без изменений.

Синтаксис

typing.cast(typ, value)

Главная ловушка: cast ничего не преобразует и не проверяет — в отличие от int(x), он не трогает значение, а только затыкает средство проверки типов. Злоупотребление им прячет настоящие ошибки, ведь checker молча поверит любому вашему утверждению. И порядок аргументов обратный привычному: сначала тип, потом значение (у assert_type — наоборот).

Примеры

# Python 3.9+
from typing import cast
print(cast(int, 42))   # → 42
print(type(cast(str, 42)).__name__)   # → int
print(cast('list[int]', [1, 2]))   # → [1, 2]
data = {'x': 1}; print(cast(dict[str, int], data) is data)   # → True
print(cast(int, '42') + 1)   # → TypeError

См. также

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