Python 3.12+typingфункция
typing.override
декораторы и маркеры
Декоратор, помечающий метод как переопределение метода базового класса; средство проверки типов проверит, что такой метод действительно существует у предка (Python 3.12+).
Синтаксис
@typing.override
Во время выполнения это no-op (лишь ставит атрибут __override__) — вся польза на стороне проверяльщика типов. Он ловит классическую ошибку: метод в базовом классе переименовали или удалили, и «переопределение» в наследнике молча стало новым несвязанным методом — без @override об этом никто не предупредит.
Примеры
from typing import override
class Base:
def f(self): ...
class Sub(Base):
@override
def f(self): return 42
print(Sub().f()) # → 42
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности