Курс Python → Создание новых функций через partial

Функция partial в Python из модуля functools позволяет создавать новые функции на основе уже существующих, фиксируя определенные аргументы. Это удобно, когда мы хотим создать функцию, которая является вариацией другой функции, но с некоторыми аргументами, которые уже заданы заранее.

Например, в предложенной инструкции мы используем функцию partial для создания двух новых функций double и triple на основе функции multiply. Мы фиксируем аргумент y на значениях 2 и 3 соответственно. Теперь новые функции могут быть вызваны с одним аргументом, в то время как фиксированный аргумент y уже задан.

from functools import partial

def multiply(x, y):
    return x * y

double = partial(multiply, y=2)
triple = partial(multiply, y=3)

print(double(5))  # Вывод: 10
print(triple(5))  # Вывод: 15

В данном примере мы используем функцию multiply, которая умножает два числа. Затем, с помощью partial, мы создаем новые функции double и triple, которые уже имеют фиксированное значение для аргумента y. При вызове этих новых функций с одним аргументом, они будут умножать его на соответствующее фиксированное значение, возвращая результат.

Использование функции partial позволяет нам более гибко управлять функциями и их аргументами, делая код более компактным и читаемым. Мы можем создавать новые функции на основе уже существующих, изменяя их поведение с помощью фиксированных значений аргументов и сохраняя при этом структуру и логику исходных функций.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с timedelta
  2. Проверка существования переменной с оператором :=
  3. Работа с коллекциями Python
  4. Создание циклической ссылки
  5. Сумма элементов списка
  6. Отправка POST-запроса в REST API
  7. Настройка нарезки списков
  8. Фильтрация последовательности
  9. Работа с CSV файлами в Python
  10. Библиотека sh: использование команд bash в Python
  11. Получение ID процесса
  12. Роль object и type в Python
  13. Решение переменной Шредингера
  14. Комплексные числа в Python
  15. Очистка строки в Python
  16. Лямбда-функции в Python
  17. Разбиение текста в Python
  18. Объединение словарей в Python
  19. Идентификатор объекта в Python
  20. Подсчет элементов в Python
  21. Установка библиотек в Python
  22. Область видимости переменных
  23. Моржовый оператор в Python 3.8
  24. Работа с аргументами командной строки в Python
  25. Гибкие функции Python
  26. Декораторы с @wraps
  27. Работа с итераторами в Python
  28. Взаимодействие с sys
  29. Функция reversed() в Python
  30. Удаление элемента из списка в Python
  31. Удаление первого элемента списка
  32. Официальный канал Python в Telegram
  33. Enum в Python
  34. Оптимизация памяти в Python
  35. Эффективная конкатенация строк с использованием join()
  36. Абстракции словарей и множеств в Python
  37. Подписка на каналы разработчиков
  38. Метод gt в Python
  39. Обработка StopIteration в Python
  40. Имена объектов в Python
  41. Функция divmod() в Python
  42. Форматирование даты с strftime()
  43. Создание инструмента обнаружения плагиата
  44. F-строки в Python
  45. Оптимизация памяти с помощью __slots__

Marketello читают маркетологи из крутых компаний