и посмотреть медиа
Zen of Python - Zen
и посмотреть медиа
Complete guide to Python philosophy and practice in one channel.
Complete guide to Python philosophy and practice in one channel.
Zen of Python - channel dedicated to Python philosophy and practices. Lessons, scripts, best practices and materials for mastering the language in Telegram.
Как кэшировать методы чужого Python-клиента Если библиотечный клиент нельзя менять, его методы можно переопределить с functools.lru_cache. Но кеш тогда включает self в ключ и удерживает экземпляр до вытеснения записи или очистки. Питоничнее обернуть уже связанный метод после создания объекта: кеш будет отдельным для каждого экземпляра, поэтому состояния клиентов не смешаются. Для множества методов автор перехватывает обращения через __getattribute__, кеширует метод при первом вызове и сохраняет обёртку в __dict__. Если объект создаёт фреймворк, эту механику можно вынести в прокси. В разборе Caching a lot of methods in Python показано, как вернуть прокси автодополнение через __dir__ и проверки isinstance() через wrapt.ObjectProxy. Для пары методов решение проще: заменить их кешированными прямо у готового объекта.
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!