Python Glossary English

Python 3.5+typingпонятие

typing.SupportsRound

протоколы Supports*

Runtime-проверяемый протокол «поддерживает round()» (есть __round__).

Синтаксис

isinstance(obj, typing.SupportsRound)

Протокол обобщённый: SupportsRound[T] параметризуется типом, который вернёт round(). Как и прочие Supports*, isinstance проверяет только наличие __round__ — не его сигнатуру и не поддержку второго аргумента ndigits, так что True не гарантирует, что round(x, 2) не упадёт.

Примеры

from typing import SupportsRound
from decimal import Decimal
print(isinstance(5, SupportsRound))   # → True
print(isinstance('3.7', SupportsRound))   # → False
print(isinstance(Decimal('2.5'), SupportsRound))   # → True
print(isinstance(1 + 2j, SupportsRound))   # → False
print(issubclass(int, SupportsRound))   # → True

См. также

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