Python Glossary English

Python 3.4+abcфункция

abc.get_cache_token

abc-служебные

Возвращает текущий токен кеша ABC; меняется при регистрации новых виртуальных подклассов (для инвалидации кешей).

Синтаксис

abc.get_cache_token()

Нужен потому, что ABC умеет принимать виртуальные подклассы уже во время работы программы через register(): результат isinstance() для одной и той же пары может измениться позже. Если вы кешируете такие проверки у себя, храните рядом токен и сбрасывайте кеш, когда он изменился; сам токен — непрозрачное число, сравнивать его осмысленно только на равенство.

Примеры

import abc
print(isinstance(abc.get_cache_token(), int))   # → True
t = abc.get_cache_token()
class Virtual(abc.ABC): pass
print(Virtual.register(list) is list)   # → True
print(abc.get_cache_token() != t)   # → True

См. также

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