⚡️ Создаём универсальные функции



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



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



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



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



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