А вы знали, что в Python нет классической перегрузки функций, как в C++ или Java? Но functools легко решает эту задачу.
Волшебство кроется в декораторе
Как это работает:
— базовую реализацию оборачиваешь в
— для каждого типа регистрируешь свою версию через
— Python сам выбирает нужную ветку по типу переданного аргумента
Это чистая и читаемая альтернатива громоздким проверкам
Рёв моторов и запах жжёной резины — залетай к тем, кто живёт скоростью и дрифтом.
#Python #functools #кодинг
Волшебство кроется в декораторе
@singledispatch. Он позволяет создать функцию, поведение которой меняется в зависимости от типа первого аргумента.Как это работает:
— базовую реализацию оборачиваешь в
@singledispatch— для каждого типа регистрируешь свою версию через
@функция.register— Python сам выбирает нужную ветку по типу переданного аргумента
Это чистая и читаемая альтернатива громоздким проверкам
isinstance внутри одной функции. Особенно удобно, когда нужно по-разному обрабатывать int, str или список — код остаётся аккуратным и расширяемым.Рёв моторов и запах жжёной резины — залетай к тем, кто живёт скоростью и дрифтом.
#Python #functools #кодинг
1❤5🔥2🥰1👏1😁1