Python Community
12.9K subscribers
1.26K photos
37 videos
15 files
741 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Создаём универсальные функции

Ранее мы рассмотрели partial и кэширование из модуля functools. Теперь, изучим декораторы singledispatch и singledispatchmethod.

Представим, что у нас есть метод, который по разному себя ведёт в зависимости от типа данных. Реализовать эту фичу можно с помощью проверки isinstance или используя singledispatch.

Этот декоратор добавляет метод register, который принимает (или считывает с реализации функции) тип и сохраняет его. После, на основе полученных данных вызывает необходимый метод.

singledispatchmethod делает тоже самое, что и singledispatch, но используется в классах.

#миниурок #декораторы