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