
⚡️ Создаём универсальные функции
Ранее мы рассмотрели partial и кэширование из модуля functools. Теперь, изучим декораторы singledispatch и singledispatchmethod.
Представим, что у нас есть метод, который по разному себя ведёт в зависимости от типа данных. Реализовать эту фичу можно с помощью проверки isinstance или используя singledispatch.
Этот декоратор добавляет метод register, который принимает (или считывает с реализации функции) тип и сохраняет его. После, на основе полученных данных вызывает необходимый метод.
singledispatchmethod делает тоже самое, что и singledispatch, но используется в классах.
#миниурок #декораторы
Ранее мы рассмотрели partial и кэширование из модуля functools. Теперь, изучим декораторы singledispatch и singledispatchmethod.
Представим, что у нас есть метод, который по разному себя ведёт в зависимости от типа данных. Реализовать эту фичу можно с помощью проверки isinstance или используя singledispatch.
Этот декоратор добавляет метод register, который принимает (или считывает с реализации функции) тип и сохраняет его. После, на основе полученных данных вызывает необходимый метод.
singledispatchmethod делает тоже самое, что и singledispatch, но используется в классах.
#миниурок #декораторы