Python Glossary English

Python 3.11+typingфункция

typing.clear_overloads

декораторы и маркеры

Очищает внутренний реестр перегрузок, накопленный @overload (возвращает None; Python 3.11+).

Синтаксис

typing.clear_overloads()

Существует в паре с get_overloads: начиная с 3.11 каждый @overload складывает свою заглушку во внутренний реестр, откуда её можно достать в рантайме, а clear_overloads этот реестр обнуляет. Нужно это в основном авторам библиотек и в тестах — освободить удерживаемые ссылки или начать сбор перегрузок с чистого листа; в прикладном коде вызывать почти никогда не приходится.

Примеры

from typing import overload, get_overloads, clear_overloads
print(clear_overloads() is None)   # → True
from typing import overload, get_overloads, clear_overloads
def dup(x: int) -> int: ...   # заглушка будущей перегрузки
_ = overload(dup); print(len(get_overloads(dup)))   # → 1
clear_overloads(); print(get_overloads(dup))   # → []
print(get_overloads(print))   # → []

См. также

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